SpringMVC---简单登录例子

所需jar包aopalliance-1.0.jar、commons-logging-1.2.jar、spring-aop-5.0.0.RELEASE.jar、spring-beans-5.0.0.RELEASE.jar、spring-context-5.0.0.RELEASE.jar、spring-core-5.0.0.RELEASE.jar、spring-expression-5.0.0.RELEASE.jar、spring-tx-5.0.0.RELEASE.jar、spring-web-5.0.0.RELEASE.jar、spring-webmvc-5.0.0.RELEASE.jar下载

aopalliance-1.0.jar这个包是AOP联盟的API包,里面包含了针对面向切面的接口。通常Spring等其它具备动态织入功能的框架依赖此包。aopalliance-1.0.jar下载地址:http://www.findjar.com/index.x,搜索aopalliance,选择aopalliance版本,点击Download后面的地址,选择aopalliance,再选择aopalliance,选择版本,下载jar包

web.xml:WEB-INF文件夹下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <display-name></display-name>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:applicationContext.xml</param-value>
    </context-param>
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

</web-app>

spring-mvc.xml:WEB-INF文件夹下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <context:component-scan base-package="com.studySpringMVC" />

</beans>

login.jsp

<%@ 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>登录</title>
</head>
<body>

    <form action="login.html" method="post">
        <p>
            用户名: <input name="uname" type="text">
        </p>
        <p>&nbsp;&nbsp;码: <input name="upasswd" type="password">
        </p>
        <p>
            <input type="submit">
        </p>
    </form>

    <font color="red">${error}</font>

</body>
</html>

success.jsp

<%@ 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>登录成功</title>
</head>
<body>

    <h1>登录成功</h1>

</body>
</html>

LoginController.java

package com.studySpringMVC.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.studySpringMVC.service.LoginService;

@Controller
public class LoginController {

    @Resource
    LoginService service;
    
    @Resource
    HttpServletRequest request;
    
    @RequestMapping("index")
    public ModelAndView toLoginPage(){
        return new ModelAndView("WEB-INF/jsp/login.jsp");
    }
    
    @RequestMapping("login")
    public ModelAndView doLogin(){
        
        String loginPageUrl = "WEB-INF/jsp/login.jsp";
        String successPageUrl = "WEB-INF/jsp/success.jsp";
        
        String uname = request.getParameter("uname");
        String upasswd = request.getParameter("upasswd");
        
        return service.doLogin(loginPageUrl, successPageUrl, uname, upasswd);
        
    }
    
}

LoginService.java

package com.studySpringMVC.service;

import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;

@Service
public class LoginService {

    public ModelAndView doLogin(String loginPageUrl, String successPageUrl, String uname, String upasswd) {
        
        if (uname == null || "".equals(uname)) {
            return new ModelAndView(loginPageUrl, "error", "用户名不能为空");
        }
        
        if (upasswd == null || "".equals(upasswd)) {
            return new ModelAndView(loginPageUrl, "error", "密码不能为空");
        }
        
        // uname = admin , passwd = 123
        
        if (uname.equals("admin") && upasswd.equals("123")) {
            return new ModelAndView(successPageUrl);
        }
        
        return new ModelAndView(loginPageUrl, "error", "用户名或者密码错误");
    }

}
原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8099835.html