文件夹设置
UserController代码
package com.yiju.controller; import com.yiju.bean.Collect; import com.yiju.bean.UserAuth; import com.yiju.bean.UserInfo; import com.yiju.pojo.CollectView; import com.yiju.service.IUserService; import net.sf.json.JSONObject; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpSession; import java.util.Date; import java.util.List; @Controller @RequestMapping("user") public class UserController { @Autowired public IUserService userService; @RequestMapping("login.do") @ResponseBody public String login(@Param(value="username")String username, @Param(value="password")String password){ if("123".equals(username)&&"123".equals(password)){ return "success"; }else { return "failure"; } } @RequestMapping("login1.do") @ResponseBody public String login1(@Param(value="username")String username, @Param(value="password")String password){ JSONObject jsonObject=new JSONObject(); if("123".equals(username)&&"123".equals(password)){ jsonObject.put("result","1"); }else { jsonObject.put("result","2"); } return jsonObject.toString(); } @RequestMapping("login2.do") @ResponseBody public String login2(@Param(value="phone")String phone, @Param(value="password")String password, HttpSession session){ JSONObject jsonObject=new JSONObject(); UserInfo user=userService.findByPhone(phone); if (user==null){ jsonObject.put("result","0"); }else if(!password.equals(user.getPassword())){ jsonObject.put("result","1"); }else { session.setAttribute("user",user); jsonObject.put("result","2"); } /*if("123".equals(phone)&&"123".equals(password)){ jsonObject.put("result","1"); }else { jsonObject.put("result","2"); }*/ return jsonObject.toString(); } @RequestMapping("singup.do") @ResponseBody public String singup(@Param(value="phone")String phone, @Param(value="password")String password){ JSONObject jsonObject=new JSONObject(); UserInfo user=userService.findByPhone(phone); if (user==null){ userService.add(phone,password); jsonObject.put("result","0"); }else { jsonObject.put("result","1"); } /*if("123".equals(phone)&&"123".equals(password)){ jsonObject.put("result","1"); }else { jsonObject.put("result","2"); }*/ return jsonObject.toString(); } @RequestMapping("saveEdit.do") @ResponseBody public String saveEdit(UserInfo userInfo,HttpSession session){ JSONObject jsonObject=new JSONObject(); UserInfo userInfo1=(UserInfo) session.getAttribute("user"); userInfo1.setTruename(userInfo.getTruename()); userInfo1.setNickname(userInfo.getNickname()); userInfo1.setGender(userInfo.getGender()); userInfo1.setCity(userInfo.getCity()); userService.updateUserInfo(userInfo1); session.setAttribute("user",userInfo1); return jsonObject.toString(); } @RequestMapping("verify.do") public ModelAndView verify(HttpSession session){ UserInfo user=(UserInfo) session.getAttribute("user"); UserAuth userAuth=userService.findUserAuth(user.getUserId()); session.setAttribute("userAuth",userAuth); ModelAndView modelAndView=new ModelAndView(); modelAndView.setViewName("verify"); return modelAndView; } @RequestMapping("saveAuth.do") @ResponseBody public String saveAuth(UserAuth userAuth,HttpSession session){ UserInfo user= (UserInfo) session.getAttribute("user"); userAuth.setUserName(user.getTruename()); userAuth.setUserGender(user.getGender()); userAuth.setUserId(user.getUserId()); userAuth.setCreateTime(new Date().getTime()); userAuth.setUpdateTime(new Date().getTime()); userService.postUserAuth(userAuth); return new JSONObject().toString(); } @RequestMapping("deleteAuth.do") public ModelAndView deleteAuth(HttpSession session){ UserInfo user = (UserInfo) session.getAttribute("user"); userService.deleteById(user.getUserId()); ModelAndView modelAndView=new ModelAndView(); modelAndView.setViewName("personal"); return modelAndView; } @RequestMapping("upps.do") @ResponseBody public String upps(HttpSession session,String oldpassword,String password){ UserInfo user= (UserInfo) session.getAttribute("user"); JSONObject jsonObject=new JSONObject(); if (!user.getPassword().equals(oldpassword)){ jsonObject.put("result",1); }else { user.setPassword(password); userService.updatePS(user); session.setAttribute("user",user); jsonObject.put("result",2); } return jsonObject.toString(); } @RequestMapping("favorite.do") public ModelAndView favorite(HttpSession session){ UserInfo user= (UserInfo) session.getAttribute("user"); ModelAndView modelAndView=new ModelAndView(); List<CollectView> collects=userService.getCollectViewByUser(user.getUserId()); modelAndView.addObject("collcets",collects); modelAndView.setViewName("favorite"); return modelAndView; } @RequestMapping("addToCollect.do") @ResponseBody public String addToCollect(HttpSession session,int houseId){ UserInfo user= (UserInfo) session.getAttribute("user"); JSONObject jsonObject=new JSONObject(); Collect c=userService.findByHouseType(user.getUserId(),houseId); if (c!=null){ jsonObject.put("result","0"); }else { Collect collect = new Collect(); collect.setUserId(user.getUserId()); collect.setHouseId(houseId); collect.setUpdateTime(new Date().getTime()); collect.setCreateTime(new Date().getTime()); userService.addCollect(collect); jsonObject.put("result","1"); } return jsonObject.toString(); } @RequestMapping("logout.do") public String logout(HttpSession session){ session.removeAttribute("user"); return "redirect:../index.jsp"; } @RequestMapping("removeColl.do") public String removeColl(int collId){ userService.deleteCollect(collId); return "redirect:favorite.do"; } }LoginFilter代码
package com.yiju.filter; import com.yiju.bean.UserInfo; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)servletRequest; HttpServletResponse response=( HttpServletResponse)servletResponse; HttpSession session=request.getSession(); String path=request.getContextPath(); String url=request.getRequestURI(); UserInfo userInfo=(UserInfo)session.getAttribute("user"); if (userInfo==null&&url.indexOf("login2.do")==-1&& url.indexOf("findFourHouse.do")==-1&& url.indexOf("main.jsp")==-1 && url.indexOf("login.jsp")==-1 &&url.indexOf("signup.jsp")==-1 &&url.indexOf("index.jsp")==-1 &&(!"/".equals(url))){ response.sendRedirect(path+"/pages/login.jsp"); }else { filterChain.doFilter(request,response); } } @Override public void destroy() { } }web代码
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- 配置加载类路径的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!-- 配置监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <!-- 解决中文乱码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>loginFilter</filter-name> <filter-class>com.yiju.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>*.do</url-pattern> <url-pattern>*.jsp</url-pattern> </filter-mapping> <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- 服务器启动的时候,让DispatcherServlet对象创建 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>