登陆页面展现javascript
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="loginOpt.action" method="post"> 用户登陆 名字<input name="uname"><br> 密码<input name="pwd"><br> <input type="submit"> </form> </body> </html>
跳转登陆页面 @RequestMapping("tologin") public ModelAndView tologin(){ return new ModelAndView("user/login"); }
//点击登陆按钮跳转访问方法 @RequestMapping("loginOpt") public String loginOpt(HttpSession session,String uname,String pwd){ //用户密码正确进入列表页面 错误从新登陆 if (uname!=null&&pwd!=null) { User sUser=userService.getByName(uname,pwd); if (sUser!=null) { session.setAttribute("id", sUser.getId()); return "user/list"; } } return "user/login"; }
运用拦截器 //普通类继承HandlerInterceptorAdapter就能够 public class SystemInterceptor extends HandlerInterceptorAdapter { /** * 在业务处理器处理请求以前被调用 若是返回false 拦截 若是返回true 继续 */ @Override public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception { //对编码进行处理 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String path = request.getServletPath();//获取当前访问路径 String root = request.getContextPath();//获取项目的上下文 String noFilter = ".*/((tologin)|(register)|(loginOpt)|(getCode)|(common)|(file)|(portal)|(getAllList)|(getByPid)).*";//配置不须要session拦截的方法 if(path.matches(noFilter)){//正则匹配,不须要拦截的返回TRUE,放行 return true; } else{ Object obj = request.getSession().getAttribute("id");//获取用户对象session if (null == obj) {//若是session为null,表示没有登陆 //若是没有登陆,跳转到登陆页面 PrintWriter out = response.getWriter(); StringBuilder builder = new StringBuilder(); builder.append("<script type=\"text/javascript\" charset=\"UTF-8\">"); builder.append("window.top.location.href=\""); builder.append(root); builder.append("/user/tologin.action\";</script>"); out.print(builder.toString()); out.close(); return false; } } return true; } }
配置拦截 <!-- 拦截器--> <mvc:interceptors> <bean class="拦截器路径" /> </mvc:interceptors>