9. JavaBean
实体类
JavaBean有特定的写法:
必须要有一个无参构造
属性必须私有化
必须有对应的get/set方法
一般用来和数据库的字段做映射 ORM
ORM:对象关系映射
表对应类
字段对应属性
行记录对应对象
10.MVC三层架构
MVC:Model、view、Controller 模型视图控制器
Model
业务处理:业务逻辑(Service)
数据持久层:CRUD(Dao)
View
展示数据
提供连接发起Servlet请求
Controller
接收用户的请求
交给业务层处理对应的代码
控制视图的跳转
11.Filter
过滤器,用来过滤网站的数据
处理中文乱码
登录验证
Filter开发步骤
导包
编写过滤器
要实现Filter接口,要注意Filter的包是 javax.servlet.*下面的包
public class CharacterEncodingFilter implements Filter {
//初始化是在服务器启动的时候
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("初始化");
}
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");
System.out.println("过滤执行前");
//下面的代码如果不写的话,程序会在此被拦截停止
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("过滤执行后");
}
//销毁是在服务器关闭的时候
public void destroy() {
System.out.println("销毁");
}
}
配置xml
CharacterEncodingFilter
com.lzp.filter.CharacterEncodingFilter
CharacterEncodingFilter
/servlet/*
12.监听器
实现一个监听器的接口;
编写一个监听器,实现监听器的接口
xml中配置监听器
13.过滤器、监听器常见应用
监听器常用于GUI
过滤器:
登陆
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
if(username.equals("admin")){
req.getSession().setAttribute("USER_SESSION",req.getSession().getId());
//因为使用了Maven模板,导致进不去该jsp。
resp.sendRedirect("/sys/success.jsp");
}else{
resp.sendRedirect("/error.jsp");
}
}
注销
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Object user_session = req.getSession().getAttribute("USER_SESSION");
if(user_session!=null){
req.getSession().removeAttribute("USER_SESSION");
resp.sendRedirect("/login.jsp");
}else{
resp.sendRedirect("/login.jsp");
}
}
过滤器
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
if(request.getSession().getAttribute("USER_SESSION")==null){
response.sendRedirect("/error.jsp");
}
filterChain.doFilter(request,response);
}
public void destroy() {
}
}
14.JDBC
需要jar包的支持
java.sqp
javax.sql
mysql-connector-java
Maven需要的依赖
mysql
mysql-connector-java
5.1.47
Junit单元测试
依赖
junit
junit
4.12
@Test 注解在方法时,可以直接运行,不需要main方法
import org.junit.Test;
public class Test1 {
@Test
public void test(){
System.out.println("Hello");
}
}