Please enable JavaScript.
Coggle requires JavaScript to display documents.
Servlet (Tomcat容器分为四个等级 (4.Servlet容器(tomcat最低级别的容器)里面包含了一个或多个Context…
Servlet
-
Servlet的装载三种情况:
1、自动装载:某些Servlet如果需要在Servlet容器启动时就加载,需要在web.xml下它的<Servlet>标签里中,添加优先级代码:<Servlet><load-on-startup>1<load-on-startup>
</Servlet>
数字越小表示该servlet的优先级越高,会先于其他自动装载的优先级较低的先装载
-
-
Servlet是长期驻留在内存里的。某个Servlet一旦被加载,就会长期存在于服务器的内存里,直到服务器关闭
Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次
-
-
Servlet生命周期
- 初始化阶段,调用init()方法。但在初始化之前要先调用Servlet类的构造方法,生成Servlet的实例(创建Servlet对象)。
- 响应客户请求阶段,调用service()方法。由service()方法根据提交方式选择执行doGet()或者doPost()方法。
- 终止阶段,调用destroy()方法。也就是销毁阶段。
通过Servlet获取表单数据 :
1.建立JavaBean类 ;
2.在Servlet类中的 doPost方法内编写代码;
3.创建 JavaBean 对象, 通过 getParameter(String param);获取表单值 ;
通过 getParameterValue(String param) 获取多个同name的表单值;
4.将数据保存到 session 中;
5.进行页面跳转;
6.jsp页面中创建Servlet对象,通过<jsp:getProperty />或对象的get()方法获取值
注意事项:
1.在 jsp 页面中可以使用<% %> 写 java 代码;
2.日期转换时需要注意格式 '-';
3.复选框需要使用 getParameterValue 方式获取;
4.注意复选框是否为 null ;
5.注意javaBean属性名不与表单属性名冲突!
Servlet的路径跳转
-
二、Servlet跳转JSP
1、请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp");这里通过request.getContextPath()方法获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到
2、服务器内部转发:request.getRequestDispatcher("../xxx.jsp").forward(req,resp);
*小结:都可以通过../xxx.jsp得到
MVC模型
Model1
仅运用了JSP+JavaBean,舍弃了相对“庞大”的servlet,虽然这种形式可以在一定程度上完成MVC架构,同时开发高效,但在后期维护上将付出惨遭的代价,一般情况下JSP承担了VC或者JavaBean承担MC,此时C的负责会与其他模块相融合。
Model2则结合了servlet,将C的职责分离到servlet,使得JSP专注与V,JavaBean专注于M,更好地区分了代码职责
jsp的前身就是Servlet
什么是Servlet:Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的Servlet程序
Servlet与九大内置对象