SpringMVC快速入门示例

  作者:http://wallimn.iteye.com,时间:2016-02-15

  一个很简单的SpringMVC示例,注意,很简单,仅具演示作用。
  用eclipse建立一个dynamic web project,加入相应包,Servlet的版本使用3.0,比较简单,不过多介绍。项目的文件结构如下图所示:




  下面介绍一下文件内容。
1. web.xml
主要是配置了Spring的Servlet,指定其处理*.do的请求,注意Servlet的名称为spring,收到相应的请求后,会使用[ServletName]-servlet.xml解析对应的请求,也就是sping-servlet.xml。还配置了一个过滤器,解决中文乱码问题。
<?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"
	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>SpringMVC</display-name>
	
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	
	<filter>
		<filter-name>encodingFilter</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>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


2. spring-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd">
	<!-- 这个包里的所有Controller都扫描 -->
	<context:component-scan base-package="com.wallimn.controller" />

	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/view/" />
		<property name="suffix" value=".jsp" />
	</bean>

</beans>


3. user/show.jsp
显示用户的信息
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>显示用户信息</title>

  </head>
  <body>
    <h3 style="text-align:center;border-bottom:1px solid gray;">用户信息</h3>
	<div style="text-align:center">
	用户ID:${user.id }
	<br>
	用户名:${user.name}
	<br>
	密 码:${user.password}
	</div>
  </body>
</html>


4. user/register.jsp
用户注册信息输入页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>显示用户信息</title>

  </head>
  <body>
    <h3 style="text-align:center;border-bottom:1px solid gray;">用户注册</h3>
	<div style="text-align:center">
		<form action="register.do" method="post">
			用户名:<input type="text" name="name">
			<br>
			密 码:<input type="password" name="password">
			<br>
			<input type="submit" value="提交"> 
		</form>
	</div>
  </body>
</html>


4. UserController.java
package com.wallimn.controller;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

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

@Controller
@RequestMapping("/user")
/**
 * 
 * @author http://wallimn.iteye.com
 *
 */
public class UserController {

	/**
	 * 显示指定的用户信息
	 * @param userId
	 * @return
	 */
	@RequestMapping("/show/{userId}")
	public ModelAndView show(@PathVariable String userId){
		Map<String,Object> user = new HashMap<String,Object>();
		user.put("id", userId);
		user.put("name", "wallimn");
		user.put("password", "password");
		return new ModelAndView("user/show","user",user);
	}
	/**
	 * 显示用户注册界面
	 * @param name
	 * @param password
	 * @return
	 */
	@RequestMapping(value="/register",method = RequestMethod.GET)
	public String register_get(String name,String password){
		return "user/register";
	}
	/**
	 * 用户注册处理
	 * @param name
	 * @param password
	 * @return
	 */
	@RequestMapping(value="/register",method = RequestMethod.POST)
	public ModelAndView register_post(String name,String password){
		Map<String,Object> user = new HashMap<String,Object>();
		user.put("id", UUID.randomUUID().toString());
		user.put("name", name);
		user.put("password", password);
		return new ModelAndView("user/show","user",user);
	}
}


5. index.jsp
欢迎页面,显示两个链接,方便查看效果
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>SpringMVC首页</title>

  </head>
  <body>
    <h3 style="text-align:center;border-bottom:1px solid gray;">请点击以下链接</h3>
	<div style="text-align:center">
	<a href="user/show/1.do">查看用户信息</a>
	<a href="user/register.do">用户注册</a>
	</div>
  </body>
</html>

猜你喜欢

转载自wallimn.iteye.com/blog/2276813