diff --git a/demo/src/main/java/com/example/demo/DemoApplication.java b/demo/src/main/java/com/example/demo/DemoApplication.java index e299bcb..17fef60 100644 --- a/demo/src/main/java/com/example/demo/DemoApplication.java +++ b/demo/src/main/java/com/example/demo/DemoApplication.java @@ -3,23 +3,14 @@ package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; -import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -import org.springframework.context.annotation.ComponentScan; @SpringBootApplication -//@ServletComponentScan() -//@ComponentScan() +@ServletComponentScan("com.example.demo") //@MapperScan("com.example.demo.Dao") -public class DemoApplication extends SpringBootServletInitializer { +public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } -// @Override -// protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { -// // 注意这里要指向原先用main方法执行的Application启动类 -// return builder.sources(Application.class); -// } - } diff --git a/demo/src/main/java/com/example/demo/loginService/SessionFilter.java b/demo/src/main/java/com/example/demo/loginService/SessionFilter.java index af8977f..3562877 100644 --- a/demo/src/main/java/com/example/demo/loginService/SessionFilter.java +++ b/demo/src/main/java/com/example/demo/loginService/SessionFilter.java @@ -1,53 +1,58 @@ -//package com.example.demo.loginService; -// -//import javax.servlet.*; -//import javax.servlet.annotation.WebFilter; -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpServletResponse; -//import javax.servlet.http.HttpSession; -//import java.io.IOException; -//@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"}) -//public class SessionFilter implements Filter { -// String NO_LOGIN="/Login.html"; -// String[] includeUrls=new String[]{"/Login.html","/Register.html"}; -// @Override -// public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{ -// HttpServletRequest request=(HttpServletRequest) servletRequest; -// HttpServletResponse response=(HttpServletResponse) servletResponse; -// HttpSession session=request.getSession(false); -// String uri=request.getRequestURI(); -// //是否需要过滤 -// boolean needFilter=isNeedFilter(uri); -// if(!needFilter){ -// filterChain.doFilter(servletRequest,servletResponse); -// }else{ -// //需要过滤器 -// //session中包含user对象,则是登录状态 -// if(session!=null&&session.getAttribute("user")!=null){ -// filterChain.doFilter(servletRequest,servletResponse); -// }else{ -// String requestType=request.getHeader("X-Requested-with"); -// //判断是否是ajax请求 -// if(requestType!=null&&"XMLHttpRequest".equals(requestType)){ -// response.sendRedirect(NO_LOGIN); -// }else{ -// //重定向到登录页(需要在static文件夹下建立此html文件) -// response.sendRedirect("/Login.html"); -// } -// return; -// } -// } -// -// -// } -// public boolean isNeedFilter(String uri) { -// for (String includeUrl : includeUrls) { -// if (includeUrl.equals(uri)) { -// return false; -// } -// } -// return true; -// } -// -// -//} +package com.example.demo.loginService; + +import com.example.demo.bean.User; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"}) +public class SessionFilter implements Filter { + String NO_LOGIN="/Login.html"; + String[] includeUrls=new String[]{"/Login.html","/Register.html","/login","/Register"}; + @Override + public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{ + HttpServletRequest request=(HttpServletRequest) servletRequest; + HttpServletResponse response=(HttpServletResponse) servletResponse; + HttpSession session=request.getSession(true); + User user=(User)request.getSession().getAttribute("user"); + System.out.print(user); + String uri=request.getRequestURI(); + //是否需要过滤 + boolean needFilter=isNeedFilter(uri); + if(!needFilter){ + filterChain.doFilter(servletRequest,servletResponse); + }else{ + //需要过滤器 + //session中包含user对象,则是登录状态 + if(session!=null&&user!=null){ + filterChain.doFilter(servletRequest,servletResponse); + }else{ + String requestType=request.getHeader("X-Requested-with"); + //判断是否是ajax请求 + if(requestType!=null&&"XMLHttpRequest".equals(requestType)){ + response.sendRedirect(NO_LOGIN); + }else{ + //重定向到登录页(需要在static文件夹下建立此html文件) + response.sendRedirect("/Login.html"); + } + return; + } + } + + + + } + public boolean isNeedFilter(String uri) { + for (String includeUrl : includeUrls) { + if (includeUrl.equals(uri)) { + return false; + } + } + return true; + } + + +} diff --git a/demo/src/main/java/com/example/demo/loginService/UserController.java b/demo/src/main/java/com/example/demo/loginService/UserController.java index b1640b0..25be64d 100644 --- a/demo/src/main/java/com/example/demo/loginService/UserController.java +++ b/demo/src/main/java/com/example/demo/loginService/UserController.java @@ -46,13 +46,14 @@ public class UserController extends HttpServlet { } + + @PostMapping("/register") public void handle1(HttpServletRequest request,HttpServletResponse response)throws IOException{ String userName = request.getParameter("userName"); String userPwd = request.getParameter("userPwd"); String userPwd1=request.getParameter("userPwd1"); - User user=new User(); - user = this.userServiceImpl.selectUserByuserName(userName); + User user = this.userServiceImpl.selectUserByuserName(userName); long count = 0; int result = 0; if(user!=null){ @@ -68,13 +69,12 @@ public class UserController extends HttpServlet { user.setUserPwd(userPwd); user.setRegisterTime(registerTime); user.setUserRight(userRight); - //System.out.println(user); this.userServiceImpl.addUser(user); result = 1; }else{ result = 3; } - if(result==1)response.sendRedirect("login.html"); + if(result==1)response.sendRedirect("RegisterSuccess.html"); else if(result==2)response.sendRedirect("userExisted.html"); else response.sendRedirect("userPwdNotSame.html"); } diff --git a/demo/src/main/resources/static/RegisterSuccess.html b/demo/src/main/resources/static/RegisterSuccess.html index b10d709..01c9754 100644 --- a/demo/src/main/resources/static/RegisterSuccess.html +++ b/demo/src/main/resources/static/RegisterSuccess.html @@ -6,6 +6,6 @@ - + \ No newline at end of file