One of the SpringMVC projects is to build a project to achieve simple login

This project is based on the article above.

Implementation: Enter the user name and password on the login page, and the user name will be displayed on the page if the login is successful. It's that simple.

 

1 Add configuration to zwp-web pom.xml to introduce springmvc jar package.

code show as below

 

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.zhouwangpu</groupId>
    <artifactId>zwp-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>zwp-web</artifactId>
  <packaging>war</packaging>
  <name>zwp-web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>com.zhouwangpu</groupId>
      <artifactId>zwp-common</artifactId>
      <version>${project.version}</version>
    </dependency>
    
    <!-- spring -->
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-webmvc</artifactId>
  		<version>4.2.6.RELEASE</version>
  	</dependency>
  	
  </dependencies>
  <build>
    <finalName> zwp-web </finalName>
  </build>
</project>

 

 

2 Modify web.xml.

 

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  
  	<!-- spring configuration file-->
  	<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>
	
	<!-Springmvc placement->
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	
</web-app>

 

 

3 Add the spring configuration file under src/main/resources

Spring configuration file: applicationContext.xml. The file name needs to start with the value of applicationContext in classpath:applicationContext*.xml in web.xml.

Code:

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:cache="http://www.springframework.org/schema/cache"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:task="http://www.springframework.org/schema/task"  
	xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       http://www.springframework.org/schema/cache
	   http://www.springframework.org/schema/cache/spring-cache-4.2.xsd
	   http://www.springframework.org/schema/task  
	   http://www.springframework.org/schema/task/spring-task-4.2.xsd ">

    </beans>

 There is no useful code for now. Later chapters are useful, create them first.

 

springmvc configuration file: spring-servlet.xml is the same as spring-servlet in classpath: spring-servlet.xml in web.xml.

Code:

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:cache="http://www.springframework.org/schema/cache"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       http://www.springframework.org/schema/cache
			  	http://www.springframework.org/schema/cache/spring-cache-4.2.xsd">
       
       	<context:component-scan base-package="com.zhouwangpu.web.*"/>
       	
	 	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  			<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
  			<property name="prefix" value="/WEB-INF/jsp/" />
 			<property name="suffix" value=".jsp" />
   		</bean>
	</beans>

 

Views are placed under /WEB-INF/jsp/.

 

4 Create a view

  1. log in page. 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>Insert title here</title>
    </head>
    <body>
    	<form action="login" method="post">
    		<label>用户名:</label><input type="text" name="userName"/>
    		<label>密码:</label><input type="password" name="password"/>
    		<button type="submit">登录</button>
    	</form>
    </body>
    </html>
     
  2. Login success page: main.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>Insert title here</title>
    </head>
    <body>
    Welcome: ${userName }
    </body>
    </html>

5controller layer

LoginController:

package com.zhouwangpu.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/")
public class LoginController {

	@RequestMapping(method=RequestMethod.GET,value="login")
	public String login(Model model){
		return "login";
	}
	
	@RequestMapping(method=RequestMethod.POST,value="login")
	public String login(Model model,@RequestParam String userName,@RequestParam String password){
		model.addAttribute("userName",userName);
		return "main";
	}
}

 

Project structure:



 

 

When running, it is

 found that the variable value cannot be obtained.

 

Modify the header of web.xml.

 

It ends up as follows:

<?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:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>Archetype Created Web Application</display-name>
  
  	<!-- spring configuration file-->
  	<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>
	
	<!-Springmvc placement->
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	
</web-app>

 

 ok

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326757958&siteId=291194637