打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Spring MVC 范例及使用
Spring MVC 实例及使用
Spring MVC Demo
说明:这个Demo用来简单展示Spring MVC的实现。[在此之前,应该下载好spring的jar文件,以及Spring的依赖jar文件,以及jstl标签库{可选},和standard.jar{可选}]
步骤如下:
1、 在MyEclipse下建立一个Web Projec名称为:Demo;
2、 添加相应的jar文件到WEB-INF/lib,如:spring-framework-3.0.2.RELEASE-with-docs.zip解压文件下dist文件夹下的core、beans、[context.support、context包支持上下文]、[web.servlet支持web MVC]、web包、asm、expression,以及spring-framework-3.0.2.RELEASE-dependencies.zip {Spring依赖}解压文件org.apache.commons/com.springsource.org.apache.commons.logging下的com.springsource.org.apache.commons.logging.jar以及jstl.jar和standard.jar,
3、 配置核心控制器,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<!-- spring servlet dispatcher -->
<servlet>
<servlet-name>springMVC</servlet-name><!—核心控制器-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup><!—服务器启动时加载-->
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern><!—过滤类型-->
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4、 编写一个控制类如:UserController.java,包结构:com.teana.controller,此类继承AbstractCommandController抽象类,[说明:此类用到数据绑定,数据类型的转换],代码如下:
package com.teana.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;
import com.teana.vo.User;
/**
* @author TEANA -- 2010-5-16
* User 控制器
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
@SuppressWarnings("deprecation")
public class UserController extends AbstractCommandController
{
@Override
protected ModelAndView handle(HttpServletRequest request,
HttpServletResponse response, Object commond, BindException be)
throws Exception
{
User user = (User)commond;//自动封装的User对象
System.out.println(user);
return new ModelAndView("success");//说明视图的跳转,会在SpringMVC-servlet.xml配置文件中查出
}
/**
* 数据绑定,及数据类型转换
*/
@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception
{
binder.registerCustomEditor(Date.class,
new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd"), true));
}
}
5、 编写User.java文件,包结构:com.teana.vo,代码如下:
package com.teana.vo;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author TEANA -- 2010-5-16
* 用户模型
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class User implements Serializable
{
private static final long serialVersionUID = -4360427971861239742L;
private int id;
private String name;
private String cardID;
private Date birth;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getCardID()
{
return cardID;
}
public void setCardID(String cardID)
{
this.cardID = cardID;
}
public Date getBirth()
{
return birth;
}
public void setBirth(Date birth)
{
this.birth = birth;
}
@Override
public String toString()
{
return "[ name =" + name + ", birth = " +
new SimpleDateFormat("yyyy-MM-dd").format(birth) +
", carID = " + cardID + ", id = " + id + " ]";
}
}
6、 编写jsp页面:
A:修改WebRoot文件下的index.jsp页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Spring MVC Demo</title>
</head>
<body>
<jsp:forward page="login.do" /><!—在此处会根据springMvc-servlet.xml文件中查找真正的jsp页面-->
</body>
</html>
B:在 WEB-INF文件下创建一个jsp文件夹,在jsp文件夹下创建一个login.jsp文件,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Spring MVC Demo 用户注册</title>
</head>
<body>
<center>
<br/>
<br/>
<h5 style="color:pink" >Spring MVC Demo 用户注册</h5>
<form action="user.do" method="post"><!—user.do在springMVC-servlet.xml中查找-->
<table>
<tr><td>账号:</td><td><input type="text" name="id" /></td></tr>
<tr><td>姓名:</td><td><input type="text" name="name" /></td></tr>
<tr><td>生日:</td><td><input type="text" name="birth" /></td></tr>
<tr><td>卡号:</td><td><input type="text" name="cardID" /></td></tr>
<tr><td><input type="submit" value=" 提 交 "/></td><td align="center"><input type="reset" value=" 重 置 "/></td></tr>
</table>
</form>
</center>
</body>
</html>
C:在WEB-INF/jsp文件夹下创建一个success.jsp文件,这里只用来说明页面跳转成功,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Spring MVC Demo 用户登录成功</title>
</head>
<body>
<br>
<center>用户登录成功页面</center>
</body>
</html>
7、 在WEB-INF文件夹下创建一个类似于Spring中的applicationContext.xml文件的SpringMVC-servlet.xml文件,这个文件的命名为*****-servlet.xml,*****由配置在web.xml文件下的核心控制器的servlet-name决定。编写其文件代码如下:
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<!—说明处理url的方式映射方式-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="index.do">indexController</prop>
<prop key="login.do">loginController</prop>
<prop key="user.do">userController</prop>
</props>
</property>
</bean>
<!—根据Url直接跳转到相应jsp文件,此处是当输入http://localhost:8080/Demo/index.do,则跳到WEB-INF/jsp/index.jsp页面-->
<bean id="indexController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
<!-此处是当输入http://localhost:8080/Demo/login.do则根据springMVC-servlet.xml文件的viewName的值去在制定格式的路径下查找相应文件-->
<bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="login" />
</bean>
<bean id="userController" class="com.teana.controller.UserController">
<property name="commandClass" value="com.teana.vo.User" />
</bean>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"><!-- 指定策略解析 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><!-- 指定视图处理 -->
<property name="prefix" value="/WEB-INF/jsp/" /><!—前缀-->
<property name="suffix" value=".jsp" /><!—后缀-->
</bean>
</beans>
总结:【使用Spring mvc 需要步骤】
①     在web.xml中配置DispatcherServlet及URL映射;
②     编写IOC容器所需要的XML配置文件,命名为<servlet-name>-servlet.xml,放到/WEB-INF目录下,如果DispatchertServlet在web.xml中的配置为SpringMVC,则Spring将寻找SpringMVC-servlet.xml配置文件。
③     在XML配置文件中定义URL映射方式和使用哪种View技术
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
spring MVC 基本操作方法1
第四章 Controller接口控制器详解(3)——跟着开涛学SpringMVC
Java开源Web开发框架分类列表
《Spring Security 3》 【第二章】 Spring Security起步(2)
Spring 系列,第 3 部分: 进入 Spring MVC
Servlet/JSP学习笔记(2)-基础知识 - idv2
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服