logout.java
package Servlet; import util.Constanta; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; public class LogOut extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); if (session!=null){ session.removeAttribute(Constanta.USER_SESSION); System.out.println("注销成功"); resp.sendRedirect("http://localhost/Maven_Filter_war_exploded/login.jsp"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
过滤器
package com.Jsxs.Filter; import util.Constanta; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class Demo1 implements Filter { // web服务器启动的时候,他就开始初始化了 public void init(FilterConfig filterConfig) throws ServletException { System.out.println("初始化的操作"); } // chain /* 1.过滤中的所有代码,在过滤特定请求的时候都会执行 2.必须要让过滤器继续同行,就是 chain.doFilter(request,response); 3. */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); // 进行强制转换 HttpServletRequest request1 = (HttpServletRequest) request; HttpServletResponse response1 = (HttpServletResponse) response; // 经过过滤器进行操作 Object user_session = request1.getSession().getAttribute(Constanta.USER_SESSION); if(user_session==null){ response1.sendRedirect("http://localhost/Maven_Filter_war_exploded/login.jsp"); } chain.doFilter(request,response); //链的意思: 主要作用就是开启过滤器,如果不写,程序就会被拦截停止 System.out.println("过滤器正在监听..."); } public void destroy() { System.out.println("过滤器已进行销毁"); } }
常量
package util; public class Constanta { public final static String USER_SESSION="USER_SESSION"; }
(二十一)、Junit依赖的作用:
1.依赖
可以在不加main方法的基础上,进行测试输出
junit依赖: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> junit的附属依赖 <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency>
使用junit的时候,上面要加上注解才能生效
package com.Jsxs; import org.junit.jupiter.api.Test; public class Test_Junit { @Test public void test(){ System.out.println("hello"); } }
(二十三)、SMBMS项目搭建
1.模块图
2.项目搭建
1.搭建一个模板项目,然后进行补充和更新目录:,以及Tomcat. 2.测试服务器是否能打开 3.导入项目中会遇到的jar包: servlet, servlet-jsp, mysql,stl,standard 4.建文件目录
4.编写实体类: 实现ORM映射 5.设置数据库配置文件 4.设置过滤器,并且进行配置 6.导入静态数据资源 7.设置首页 8.编写dao层用户登入的接口 9.编写dao接口的实现类
(二十四)、密码使用的Ajax
1.阿里巴巴的: fastjson 2.MAVEN <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.61</version> </dependency>