MVC三层架构
-
Model
- 业务处理:业务逻辑(事务,安全)
- 数据化持久层:CUDR(Dao)
-
View
- 展示数据
- 提供链接发起Servlet请求(from,img)
-
Controller(Servlet)
- 接受用户请求(req:请求参数,Session信息)
- 交给业务层处理对应的代码
- 控制视图的跳转
Filter
概述:即在web服务器和servlet之间加了一层过滤装置,可用于统一处理中文乱码,登录验证问题,不用再到每个servlet程序中处理。其实现过程跟servlet类似,一些有区别的细节给了注释。
//解决编码问题的过滤器,url设为/*,可以过滤该request子项目下所以请求响应
public class CharEncodingFilter implements Filter {//注意是javax.servlet下的包!!
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//初始化,web容器创建时
System.out.println("开始过滤");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setCharacterEncoding("UTF-8");
servletResponse.setContentType("text/html;charset=utf-8");
filterChain.doFilter(servletRequest,servletResponse);//该链将请求转发给过滤器链下一个filter , 如果没有filter那就到请求的资源
}
@Override
public void destroy() {
//销毁,关闭服务器时
System.out.println("停止过滤");
}
}
Listener
概述:监听器,用法和过滤器类似,多用于GUI编程。