【web后端(十三)】jsp、servlet_生命周期、过滤器
2023-09-11 14:20:37 时间
Servlet生命周期
serlvet请求是单实例多线程
1.初始化
Serlvet是配置到web.xml当中,服务器读取配置自动实例化并置入ServletContext容器当中。当Servlet刚刚实例化,就会调用void init()方法,所以我们初始化Servlet的代码并不是写在构造函数中,而是推荐写到init()方法当中
2.服务请求
service(request,response)是Servlet处理请求的默认方法,这个方法根据http请求中的方法值(如,get,post等)分别调用doGet(),doPost()等方法
3.销毁
一个Servlet如果在一段时间内(具体由服务器定,比如24小时)没有被访问,容器会自动销毁,销毁时调用destroy()方法。如果Servlet销毁后又被请求,则服务器会重新实例化Servlet并调用init()方法
处理乱码
request.setCharectEncoding("utf-8");
respone.setCharectEncoding("utf-8");
过滤器
拦截在你要请求的Servlet前面,提前执行的web组件
面向切面的编程
Filter要实现,javax.servlet.Filter接口
package edu.xalead.filter;
import javax.servlet.*;
import java.io.IOException;
public class EncodingFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
chain.doFilter(req, resp);//转发给用户实际请求的Servlet
}
public void init(FilterConfig config) throws ServletException {
}
}
web.xml
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>edu.xalead.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern><!--/*是通配符,指拦截所有的Servlet-->
</filter-mapping>
过滤器的代码会在其它Servlet代码之前执行。
相关文章
- jsp JDBC连接MySQL数据库操作标准流程参考
- Java Web项目缺少jsp、servlet jar包
- JSP JSTL
- Web测试的各个测试点,居然这么全!(文末送web测试方法大全一份)
- Java+Servlet+JSP+Mysql+Tomcat实现Web学生选课管理系统
- Web在线文件管理器(web os) KODExplorer
- JSP文件管理后门工具jsp-file-browser
- [攻防世界]-WEB高手进阶区-Web_python_block_chain
- 《Servlet、JSP和Spring MVC初学指南》——2.4 HttpSession对象
- 《Servlet、JSP和Spring MVC初学指南》——2.5 小结
- Go Web:RESTful web service示例
- 磕一磕:Spring boot 打包后静态资源及JSP等资源访问不到问题
- JSP 九大隐式对象
- SpringMVC访问WEB-INF下的jsp的方法
- JSP-SpringMVC学习笔记(一)入门
- JSP-Spring4学习笔记(三)bean强化
- 【web后端(二十)】jsp、servlet_内置标签——用户自定义标签
- 【web后端(十九)】jsp、servlet_内置标签——include
- 【web后端(十八)】jsp、servlet_内置标签——UseBean
- 【web后端(十五)】jsp、servlet_jsp工作原理
- 【web后端(十二)】jsp、servlet_servlet初始化参数、servelt上下文参数
- 【web后端(六)】jsp、servlet_会话管理_url重写
- 【web后端(五)】jsp、servlet_request在组件间传递数据
- 【web后端(三)】jsp、servlet_doPost_上传照片
- [Servlet&JSP] HttpSession会话管理
- Web 之 Eclipse 搭建 Gradle 环境/并且运行 Gradle 工程(spring web)简单整理
- 一个JSP结果页面tomcat内存溢出
- 关于jsp,javascript,php等语言
- 开发环境下jboss 7.1.1 Final 的jsp热部署解决方案--转
- Java Web开发之详解JSP