diff --git a/Front-end/Login/Login.html b/Front-end/Login/Login.html index 3f89e49..7f10482 100644 --- a/Front-end/Login/Login.html +++ b/Front-end/Login/Login.html @@ -299,7 +299,7 @@ 录 - + diff --git a/Front-end/notLogin.jsp b/Front-end/notLogin.jsp new file mode 100644 index 0000000..a9285f2 --- /dev/null +++ b/Front-end/notLogin.jsp @@ -0,0 +1,13 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +您还未登录!!! + + + \ No newline at end of file diff --git a/Front-end/operateError.jsp b/Front-end/operateError.jsp new file mode 100644 index 0000000..7a03af2 --- /dev/null +++ b/Front-end/operateError.jsp @@ -0,0 +1,13 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +操作错误!!! + + + \ No newline at end of file diff --git a/Front-end/registerSuccess.jsp b/Front-end/registerSuccess.jsp new file mode 100644 index 0000000..5ad0494 --- /dev/null +++ b/Front-end/registerSuccess.jsp @@ -0,0 +1,13 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +注册成功!!! + + + \ No newline at end of file diff --git a/Front-end/userNotExist.jsp b/Front-end/userNotExist.jsp new file mode 100644 index 0000000..e750fdd --- /dev/null +++ b/Front-end/userNotExist.jsp @@ -0,0 +1,12 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +用户不存在!!! + + \ No newline at end of file diff --git a/Front-end/userPwdError.jsp b/Front-end/userPwdError.jsp new file mode 100644 index 0000000..30e55e1 --- /dev/null +++ b/Front-end/userPwdError.jsp @@ -0,0 +1,13 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +密码错误!!! + + + \ No newline at end of file diff --git a/Front-end/userPwdNotSame.jsp b/Front-end/userPwdNotSame.jsp new file mode 100644 index 0000000..f3c19e6 --- /dev/null +++ b/Front-end/userPwdNotSame.jsp @@ -0,0 +1,13 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + Insert title here + + +密码不一致!!! + + + \ No newline at end of file diff --git a/demo/src/main/java/com/example/demo/DemoApplication.java b/demo/src/main/java/com/example/demo/DemoApplication.java index 348edc1..e00cfe9 100644 --- a/demo/src/main/java/com/example/demo/DemoApplication.java +++ b/demo/src/main/java/com/example/demo/DemoApplication.java @@ -2,8 +2,10 @@ package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; @SpringBootApplication +@ServletComponentScan //@MapperScan("com.example.demo.Dao") public class DemoApplication { public static void main(String[] args) { diff --git a/demo/src/main/java/com/example/demo/loginService/API/UserService.java b/demo/src/main/java/com/example/demo/loginService/API/UserService.java index 7a88bbe..2b9bc72 100644 --- a/demo/src/main/java/com/example/demo/loginService/API/UserService.java +++ b/demo/src/main/java/com/example/demo/loginService/API/UserService.java @@ -5,6 +5,6 @@ import com.example.demo.bean.User; public interface UserService { public User selectUserByuserName(String userName); public User selectUserBytelephoneNum(String telephoneNum); - public void insertUser(long userNum,String userName,String userPwd,String registerTime,String userRight); + public void insertUser(long userNum, String userName, String userPwd, String registerTime, String userRight); public long count(); } diff --git a/demo/src/main/java/com/example/demo/loginService/API/impl/UserServiceImpl.java b/demo/src/main/java/com/example/demo/loginService/API/impl/UserServiceImpl.java index 169ad21..73e51d1 100644 --- a/demo/src/main/java/com/example/demo/loginService/API/impl/UserServiceImpl.java +++ b/demo/src/main/java/com/example/demo/loginService/API/impl/UserServiceImpl.java @@ -3,12 +3,14 @@ package com.example.demo.loginService.API.impl; import com.example.demo.Dao.userMapper; import com.example.demo.bean.User; import com.example.demo.loginService.API.UserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @Service("UserServiceImpl") public class UserServiceImpl implements UserService{ + @Autowired private userMapper UserMapper; @Transactional(propagation=Propagation.REQUIRED,readOnly = true) public User selectUserByuserName(String userName){ diff --git a/demo/src/main/java/com/example/demo/loginService/SessionFilter.java b/demo/src/main/java/com/example/demo/loginService/SessionFilter.java new file mode 100644 index 0000000..c2589ad --- /dev/null +++ b/demo/src/main/java/com/example/demo/loginService/SessionFilter.java @@ -0,0 +1,51 @@ +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="/notLogin"; + String includeUrl=new String("redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login.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(request.getContextPath()+includeUrl); + } + return; + } + } + + + } + public boolean isNeedFilter(String uri){ + 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 3e1b220..4aa2c81 100644 --- a/demo/src/main/java/com/example/demo/loginService/UserController.java +++ b/demo/src/main/java/com/example/demo/loginService/UserController.java @@ -20,7 +20,7 @@ public class UserController extends HttpServlet { private User user; private String userPwd; - @PostMapping("/Login.do") + @PostMapping("/login") public void handle(HttpServletRequest request)throws Exception{ String action=request.getParameter("action"); if(action.equals("登录")){ @@ -35,16 +35,16 @@ public class UserController extends HttpServlet { String userPwd1=request.getParameter("userPwd1"); user=this.userService.selectUserByuserName("userName"); if(user!=null){ - return "操作错误!"; + return "/operateError"; }else if(userPwd==userPwd1){ long count = this.userService.count(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); String registerTime=dateFormat.format(new Date()); String userRight="0"; this.userService.insertUser(count, userName, userPwd,registerTime,userRight); - return "插入成功!"; + return "/registerSuccess"; }else{ - return "密码不一致!"; + return "/userPwdNotSame"; } } @@ -52,17 +52,17 @@ public class UserController extends HttpServlet { String userName = request.getParameter("userName"); userPwd = request.getParameter("userPwd"); user = this.userService.selectUserByuserName(userName); - HttpSession session=request.getSession(); - session.getAttribute("user"); if(user!=null){ if(user.getUserPwd().equals(userPwd)){ - return "/login1"; + HttpSession session=request.getSession(); + session.setAttribute("user",user); + return "redirect:http://localhost:8080/firstproject/demo/Front-end/首页/index.html"; } else{ - return "/login2"; + return "/userPwdError"; } }else{ - return "/login2"; + return "/userNotExist"; } }