zoukankan      html  css  js  c++  java
  • 基于SSM的单点登陆05

    springmvc.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:mvc="http://www.springframework.org/schema/mvc"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     7         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
     8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
     9         <!-- 解析properties文件的工具类 -->
    10         <context:property-placeholder location="classpath:*.properties"/>
    11 
    12         <!-- 扫描controller组件 -->
    13         <context:component-scan base-package="io.guangsoft.market.controller"/>
    14 
    15         <!-- 开启注解驱动 -->
    16         <mvc:annotation-driven />
    17         
    18         <!-- 配置视图解析 -->
    19         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    20             <property name="prefix" value="/jsp/" />
    21             <property name="suffix" value=".jsp" />
    22         </bean>
    23         <!-- 资源映射 -->
    24         <mvc:resources location="/css/" mapping="/css/**"/>
    25         <mvc:resources location="/js/" mapping="/js/**"/>
    26         <mvc:resources location="/images/" mapping="/images/**"/>
    27  </beans>

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7     <!-- 启动spring -->
     8     <context-param>
     9         <param-name>contextConfigLocation</param-name>
    10         <param-value>classpath:spring-*.xml</param-value>
    11     </context-param>
    12     <listener>
    13         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    14     </listener>
    15     
    16     <!-- 解决post乱码 -->
    17     <filter>
    18         <filter-name>CharacterEncodingFilter</filter-name>
    19         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    20         <init-param>
    21             <param-name>encoding</param-name>
    22             <param-value>utf-8</param-value>
    23         </init-param>
    24     </filter>
    25     <filter-mapping>
    26         <filter-name>CharacterEncodingFilter</filter-name>
    27         <url-pattern>/*</url-pattern>
    28     </filter-mapping>
    29     
    30     <!-- 启动springmvc -->
    31     <servlet>
    32         <servlet-name>market</servlet-name>
    33         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    34         <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
    35         <init-param>
    36             <param-name>contextConfigLocation</param-name>
    37             <param-value>classpath:springmvc.xml</param-value>
    38         </init-param>
    39         <load-on-startup>1</load-on-startup>
    40     </servlet>
    41     <servlet-mapping>
    42         <servlet-name>market</servlet-name>
    43         <url-pattern>/</url-pattern>
    44     </servlet-mapping>
    45     
    46     <welcome-file-list>
    47         <welcome-file>index.html</welcome-file>
    48         <welcome-file>index.htm</welcome-file>
    49         <welcome-file>index.jsp</welcome-file>
    50         <welcome-file>default.html</welcome-file>
    51         <welcome-file>default.htm</welcome-file>
    52         <welcome-file>default.jsp</welcome-file>
    53     </welcome-file-list>
    54 </web-app>

    PageController.java

     1 package io.guangsoft.market.controller;
     2 
     3 import org.springframework.stereotype.Controller;
     4 import org.springframework.ui.Model;
     5 import org.springframework.web.bind.annotation.RequestMapping;
     6 
     7 /**
     8  * 页面跳转
     9  */
    10 @Controller
    11 public class PageController {
    12 
    13     @RequestMapping("/login")
    14     public String showLogin(String redirect, Model model) {
    15         model.addAttribute("redirect", redirect);
    16         return "login";
    17     }
    18 
    19     @RequestMapping("/register")
    20     public String showRegister() {
    21         return "register";
    22     }
    23 }

    UserController.java

      1 package io.guangsoft.market.controller;
      2 
      3 import javax.servlet.http.HttpServletRequest;
      4 import javax.servlet.http.HttpServletResponse;
      5 
      6 import io.guangsoft.market.util.bean.GResult;
      7 import io.guangsoft.market.dao.bean.TbUser;
      8 import io.guangsoft.market.service.UserService;
      9 import io.guangsoft.market.util.utils.CookieUtil;
     10 import io.guangsoft.market.util.utils.GResultUtil;
     11 import org.apache.commons.lang3.StringUtils;
     12 import org.springframework.beans.factory.annotation.Autowired;
     13 import org.springframework.beans.factory.annotation.Value;
     14 import org.springframework.http.converter.json.MappingJacksonValue;
     15 import org.springframework.stereotype.Controller;
     16 import org.springframework.web.bind.annotation.PathVariable;
     17 import org.springframework.web.bind.annotation.RequestMapping;
     18 import org.springframework.web.bind.annotation.RequestMethod;
     19 import org.springframework.web.bind.annotation.ResponseBody;
     20 
     21 
     22 /**
     23  * 用户登录服务controller
     24  */
     25 @Controller
     26 @RequestMapping("/user")
     27 public class UserController {
     28 
     29     @Autowired
     30     private UserService userService;
     31 
     32     @Value("${REDIS_USER_SESSION_KEY}")
     33     private String cookieName;
     34     
     35     /**
     36      * 用户注册数据校验接口
     37      */
     38     @RequestMapping(value="/check/{param}/{type}",method=RequestMethod.GET)
     39     @ResponseBody
     40     public Object checkData(@PathVariable String param,@PathVariable int type,String callback){
     41         GResult result = null;
     42         //数据校验
     43         if(type != 1 && type != 2 && type != 3){
     44            result = GResultUtil.fail(-1, "参数类型有误!");
     45         }else{
     46         //调用业务层做数据校验
     47            result = this.userService.userParamCheck(param, type);
     48         }
     49         //判断是否使用jsonp调用方式
     50         if(callback != null && callback.length() > 0){
     51             MappingJacksonValue mapping = new MappingJacksonValue(result);
     52             mapping.setJsonpFunction(callback);
     53             return mapping;
     54         }
     55         return result;
     56     }
     57     
     58     /**
     59      * 用户注册接口
     60      */
     61     @RequestMapping(value="/register",method=RequestMethod.POST)
     62     @ResponseBody
     63     public GResult userRegister(TbUser user){
     64         try{
     65             return this.userService.userRegister(user);
     66         }catch(Exception e){
     67             e.printStackTrace();
     68             return GResultUtil.fail(-1, "注册失败. 请校验数据后请再提交数据!");
     69         }
     70     }
     71     
     72     /**
     73      * 用户登录接口
     74      */
     75     @RequestMapping(value="/login",method=RequestMethod.POST)
     76     @ResponseBody
     77     public GResult userLogin(String username,String password,HttpServletRequest request,HttpServletResponse repsonse){
     78         try{
     79             GResult result = this.userService.userLogin(username, password);
     80             if(result.getgCode() == 0) {
     81                 CookieUtil.setCookie(request, repsonse, cookieName, result.getgData().toString());
     82             }
     83             return result;
     84         }catch(Exception e){
     85             e.printStackTrace();
     86             return GResultUtil.fail(-1,  e.getMessage());
     87         }
     88     }
     89     
     90     /**
     91      * 根据token查询用户
     92      */
     93     @RequestMapping(value="/token/{token}",method=RequestMethod.GET)
     94     @ResponseBody
     95     public Object findUserByToken(@PathVariable String token,String callback){
     96         GResult result = this.userService.findUserByToken(token);
     97         //判断是否含有jsonp
     98         if(!StringUtils.isBlank(callback)){
     99             MappingJacksonValue mapping = new MappingJacksonValue(result);
    100             mapping.setJsonpFunction(callback);
    101             return mapping;
    102         }
    103         return result;
    104     }
    105 }
  • 相关阅读:
    json 拼二维json数组
    lnmp 环境搭建
    lnmp git ruby sass 安装
    制定clone的用户名
    git branch 重命名
    sql命令创建数据库
    layerui
    弹出确认框,打开新窗口
    Ajax请求小结
    .net core注入服务
  • 原文地址:https://www.cnblogs.com/guanghe/p/9195973.html
Copyright © 2011-2022 走看看