SSM模拟登录验证

1、环境配置所用包;
在这里插入图片描述

2、web.xml配置:
只配置了前端控制器和字符过滤器,没有配置spring相关的监听(读取spring配置文件)和上下文配置(spring配置文件classpath),模拟登录验证并没有从数据库查询用户信息,只是在控制器中模拟做了信息验证。

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <!--前端控制器-->
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMVC.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!--字符编码过滤-->
    <filter>
        <filter-name>encoding</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>encoding</filter-name>
        <url-pattern>/</url-pattern>
    </filter-mapping>
</web-app>

3、控制器类–Demo01Controller.java

package Constoller;

import Pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;

@Controller
public class Demo01Controller {

    @RequestMapping("{name}")
    public String DemoRestFul(@PathVariable String name){
        System.out.println("---------------- restful: "+name);
        return "main/"+name;
    }

    @RequestMapping("/login")
    public String Demo01(User user, HttpSession session){
        if(user.getUserName() != null && user.getPassWord() != null && user.getUserName().equals("admin") && "123456".equals(user.getPassWord())){
            System.out.println("----------------"+user.getPassWord());
            session.setAttribute("user",user);
            System.out.println("----------------user : "+user.getUserName());
            return "main/main";
        }else{
            System.out.println("=================="+"redirect:/index.jsp");
            return "redirect:/login.jsp";
        }

    }
}

4、拦截器类–Demo01Interceptor.java

package Interceptors.Demo01Interceptor;

import Pojo.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Demo01Interceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        String url = httpServletRequest.getRequestURI();
        System.out.println("-------------1: "+url);
        if(url.endsWith("/login")){
            System.out.println("-------------2: "+url);
            return true;
        }else{
            Object user = httpServletRequest.getSession().getAttribute("user");
            if(user != null){
                System.out.println("-------------3: "+user);
                return true;
            }
            httpServletResponse.sendRedirect("/login.jsp");
            System.out.println("-------------4: /");
            return false;
        }

    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

5、SpringMVC配置文件 — springMVC.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd 
           http://www.springframework.org/schema/context 
           http://www.springframework.org/schema/context/spring-context.xsd 
           http://www.springframework.org/schema/mvc 
           http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--注解扫描-->
    <context:component-scan base-package="Constoller"></context:component-scan>
    <!--注解驱动-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--静态文件请求放行-->
    <mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
    <mvc:resources mapping="/images/**" location="/images"></mvc:resources>

    <!--视图解析:视图解析器的id必须写-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/web/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!--拦截器配置-->
    <mvc:interceptors>
        <bean class="Interceptors.Demo01Interceptor.Demo01Interceptor"></bean>
    </mvc:interceptors>
</beans>

6、登录页面.jsp–login.jsp

<%@page contentType="text/html; UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<body>
<h2>用户登录</h2>
<hr>
<form action="login" method="post">
    <table border="1">
        <tr>
            <td>用户名:</td>
            <td><input name="userName" type="text" style="text-align: left"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td>
                <input type="password" name="passWord" style="text-align: left"/>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" name="提交" value="提交"/>
                <input type="reset" value="重置" name="重置"/>
            </td>
        </tr>
    </table>
</form>
</body>
</html>

7、验证成功跳转页面–main.jsp
登陆成功后页面放置的位置(如下图,也可以在WEB-INF下创建文件夹放置前端页面):
在这里插入图片描述

<%--
  Created by IntelliJ IDEA.
  User: xingfuhu
  Date: 2020/5/30
  Time: 7:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>首页</title>
</head>
<body>
111111111111111111111111111111111111111
233333333333333333333333333333333
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值