java web(2)
注解用来做单元测试
- @test注解,需要导入junit依赖
- 注意,添加依赖的时候如果需要提示直接
alt+enter
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
public class test {
@Test
public void ts() {
System.out.println("hello world!");
}
}
sbms项目搭建
- 搭建一个maven web项目
- 用maven web app模板新建一个项目,修改xml文件为最新的,删除多余的依赖,导入需要的依赖
- 比如,servlet,jsp,mysql,jstl,standard的依赖
- 配置tomcat,测试项目能否跑起来
- 配置数据库,连接数据库
- 添加项目需要的文件,比如entity,service,dao,filter,servlet,util
- 编写和数据库对应的实体类entity,也就是数据库映射ORM
- 编写数据库资源文件和数据库操作类增删改查(dao层)
- 编写过滤器
- 导入静态资源
登录实现
Class.forName(driver);
- 编写前端页面,直接导入静态资源包里面的
- 设置欢迎页
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
-
编写 DAO 层的代码,利用之前写的BaseDao用来查询数据库里面的数据 -
编写 Service 层的代码,service 利用 dao 层用来实现具体的登录业务 -
编写 Servlet 层,用来实现页面的跳转,主要是用 req 获得请求过来的数据和 利用 Service 层查询到的数据对比,再利用 **resp **实现页面的重定向 -
判断密码相等遇到的坑(== 和equals)
- == 比较的是两个数据的地址,平时可以用是因为java同样的数据是同样的地址
- equals 可以重写,重写之后就可以只比较内容了
user.getUserPassword()!=password
user.getUserPassword().equals(password)
退出登录
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
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{
filterChain.doFilter(servletRequest,servletResponse);
}
}
|