- @test注解,需要导入junit依赖
- 注意,添加依赖的时候如果需要提示直接alt+enter
//导入依赖sbms项目搭建//测试代码,不用再写psvm public class test { @Test public void ts() { System.out.println("hello world!"); //注意注意注意,这个方法必须写在public class里面才有效 } } junit junit 4.13
- 搭建一个maven web项目
- 用maven web app模板新建一个项目,修改xml文件为最新的,删除多余的依赖,导入需要的依赖
- 比如,servlet,jsp,mysql,jstl,standard的依赖
- 配置tomcat,测试项目能否跑起来
- 配置数据库,连接数据库
- 添加项目需要的文件,比如entity,service,dao,filter,servlet,util
- 编写和数据库对应的实体类entity,也就是数据库映射ORM
- 编写数据库资源文件和数据库操作类增删改查(dao层)
- 编写过滤器
- 导入静态资源
- 注意注意注意,mysql加载驱动踩坑
Class.forName(driver); //没有这句话会报这个错误 “No suitable driver found for jdbc”
- 编写前端页面,直接导入静态资源包里面的
- 设置欢迎页
login.jsp
-
编写 DAO 层的代码,利用之前写的baseDao用来查询数据库里面的数据
-
编写 Service 层的代码,service 利用 dao 层用来实现具体的登录业务
-
编写 Servlet 层,用来实现页面的跳转,主要是用 req 获得请求过来的数据和 利用 Service 层查询到的数据对比,再利用 **resp **实现页面的重定向
-
判断密码相等遇到的坑(== 和equals)
- == 比较的是两个数据的地址,平时可以用是因为java同样的数据是同样的地址
- equals 可以重写,重写之后就可以只比较内容了
//这句代码在java里面是永远为true的,因为==比较的是地址 user.getUserPassword()!=password //改进方法 user.getUserPassword().equals(password)
-
退出有两个步骤
- 关闭Session
- 页面重定向到登录页面
-
退出之后,页面还是可以访问,这里需要用Filter进行登录拦截
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//一般用req获取Session,用resp来重定向
//注意此处如果没有类型转换的话,是不能getSession的
HttpServletRequest req=(HttpServletRequest)servletRequest;
HttpServletResponse resp=(HttpServletResponse)servletResponse;
User user=(User) req.getSession().getAttribute(Constants.USER_SESSION);
if (user == null) {
resp.sendRedirect("/sbms/error.jsp");
}else{
//注意注意注意,写Filter最重要的一句话,千万注意
filterChain.doFilter(servletRequest,servletResponse);
}
}



