1、JSP
2、JSP+JAVABEAN
3、Servlet
4、JSP+JAVABEAN+Servleet
5、数据库技术+JDBC
6、JDBC和JavaBean的区别
JDBC:JSP利用<% 进行数据库连接,查询、添加、修改、删除操作%>
查询、添加、修改、删除4个JSP页都需要连接数据库
关键字:Class.forName()
Connection con=DriverManager.getConnection()
PrepareStatement ps=con.prepareStatement(sql)
ps.setInt()
ps.setString()
ps.executeQuery()
ps.executeUpdate()
JavaBean:JavaBean类中有JavaBean的构造方法和对数据库操作增删改查的方法,其 中构造方法就是连接数据库;然后在JSP中<%创建对象(就会直接连接数据库),调用JavaBean类方法(对象.方法名())%>。
只需要在JSP页调用查询、添加、修改、删除方法即可。
关键字:<jsp:useBean id="对象名" class="包路径.类名" scope="page"/>
ResultSet rs=对象名.方法名(参数);
while(rs.next()){ 输入到JSP页面 }
7、JSP+Servlet+JDBC
a、JDBCServlet类继承HttpServlet,重写doGet()和doPost()方法
b、doGet()方法:request获取JSP页面数据字段,匹配delete则删除,else则调用查询方法显示信息Result rs.getString()。
c、JDBCServlet类构造方法连接数据库,作用创建对象即连接数据库
d、查询、添加、修改、删除方法
e、web.xml配置JDBCServlet类在html或JSP中action=“”跳转到
JSP——web.xml——JDBCServlet类——
8、程序运用Servlet的流程:
JSP的action——web.xml的URL——java的类xxServlet的方法
页面访问hellowordServlet:
客户端请求数据<form action="hellowordServlet">——web服务器安装Servlet,创建Servlet实例helloword.java中的doGet/doPost方法,配置web.xml定义URL为hellowordServlet。
数据库连接JDBCServlet:
配置web.xml链接数据库的Driver URL root 123456,创建Servlet实例JDBCServlet.java中的init()初始化数据,用初始化参数getConnection()连接数据库。
Servlet在web.xml其他配置:
配置多个映射:多个网址可以访问
配置Servlet监听器:监听上下文信息,监听Http会话信息,监听客户端请求
配置Servlet过滤器和开发编码过滤器
9、struts2+hibernate的流程:
JSP的action——web.xml的拦截和过滤——struts.xml的action选择——action层业务处理——struts.xml返回JSP
客户端请求<form action="add/delete/change/look">
→ 过滤器
→ 调用resources文件struts.xml配置add/delete/change/look,选择action层哪个Action
→ Action中execute()方法获取用户请求参数
→ 调用dao层业务逻辑session.createQuery()方法
→ createQuery()方法前提是:resources文件hibernate.cfg.xml配置参数连接数据库,并且跳转到model层model.hbm.xml配置文件
→ model层javaBean和model.hbm.xml配置对象属性和数据库字段一致
→ action层返回数据在resources文件struts.xml找到对应的返回结果:JSP页面...
另web.xml配置内容:核心控制器拦截客户端用户请求,过滤器判断是否action而转入struts2框架
10、struts2+hibernate+Maven的web项目流程:
Maven+webApp:
Maven下载包路径和setting文件配置<localRepository>D:\java\myTomcat\reposy</localRepository>,
Tomcat启动和测试
Inteliij IDEA的配置
Maven+webApp+hibernate
添加hibernate
Maven+webApp+hibernate+struts2
添加struts2,在pom.xml添加依赖
11、struts2是怎样获得输入框中的值的???
思考:在action层:private User users设置set()get()方法是否可行??
A:action层对象属性的setXXX()方法将输入框的值给action层对象属性(对应输入框的 name标签)赋值,
然后将数据存入数据库,最后通过:
1、getXXX()方法可以将之前在输入框输入的值导入跳转页面输入框的值,两个页面输入框通过name属性传值
2、setUsername(user.getUsername())方法可以将数据库的值返回到JSP页面,通过name属性赋值。
B:HttpServletResponse response = ServletActionContext.getResponse();
request和response对象即然代表请求和响应;
HttpServletRequest request = ServletActionContext.getRequest();
request.getParameter(name);
不需要通过这个获取输入框的值。
String data = "中国";
//通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码
response.setHeader("content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//设置将字符以"UTF-8"编码输出到客户端浏览器
// PrintWriter out = response.getWriter();
//这句代码必须放在response.setCharacterEncoding("UTF-8");之后
//否则response.setCharacterEncoding("UTF-8")这行代码的设置将无效,浏览器显示的时候还是乱码
PrintWriter out = response.getWriter();//获取PrintWriter输出流
//多学一招:使用HTML语言里面的<meta>标签来控制浏览器行为,模拟通过设置响应头控制浏览器行为
//out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'/>");
// 等同于response.setHeader("content-type", "text/html;charset=UTF-8");
out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'/>");
out.write(data);
//使用PrintWriter流向客户端输出字符
12、
Sevlet:Java类+服务器运行+调用Java Servlet API+必须继承或实现某接口或类HttpServlet
+处理客户端请求+doGet()+web.xml配置form标签action的Url跳转处理数据
13、
JDBC:连接Java程序和数据库的桥梁+Java类和接口+驱动接口Driver
+驱动管理接口DriverManager+数据库连接接口Connection+记录集接口ResultSet