`
huibin
  • 浏览: 740455 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子

 
阅读更多

实现一个控制器ShirdrnController,如下所示:

package org.shirdrn.spring.mvc;

import java.util.Date;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class ShirdrnController implements Controller {

public ModelAndView handleRequest(HttpServletRequest arg0,
    HttpServletResponse arg1) throws Exception {
   Log logger = LogFactory.getLog(getClass());
   Date date = new Date();
   logger.info("信息 : ["+date.toLocaleString()+"]调用控制器ShirdrnController,转向index.jsp页面.");
   return new ModelAndView("index.jsp");
}
}

当给控制器接收到请求后,转发向index.jsp页面。

在目录/WEB-INF/下面创建一个Spring配置文件,格式为<SERVLET-NAME>-servlet.xml,例如 shirdrn-servlet.xml,其中shirdrn对应于web.xml中配置的<servlet-name>。在 shirdrn-servlet.xml中装配上面实现的控制器org.shirdrn.spring.mvc.ShirdrnController,配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean id="shirdrnController"
   class="org.shirdrn.spring.mvc.ShirdrnController" abstract="false"
   singleton="true" lazy-init="default" autowire="default"
   dependency-check="default">
</bean>

<bean id="shirdrnUrlMapping"
   class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
   abstract="false" singleton="true" lazy-init="default"
   autowire="default" dependency-check="default">
   <property name="mappings">
    <props>
    <prop key="/shirdrn.abc">shirdrnController</prop>
    </props>
   </property>
</bean>
</beans>

上面,如果请求为shirdrn.abc的时候,则调用shirdrnController控制器,将转向index.jsp页面,生成视图。

在web.xml中配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>
   <servlet-name>shirdrn</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
   <servlet-name>shirdrn</servlet-name>
   <url-pattern>*.abc</url-pattern>
</servlet-mapping>

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

</web-app>

就是,当请求的URL以.abc为后缀的时候,都交由Servlet名称为shirdrn的org.springframework.web.servlet.DispatcherServlet控制视图转发。

编写一个简单的JSP页面index.jsp,如下所示:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">
   
    <title>第一个Spring MVC应用</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
    <h1>我的第一个Spring MVC应用</h1>
    <hr><hr>
    <hr><hr>
    <center>当前时间为 : <%=new java.util.Date() %></center>
</body>
</html>

启动Tomcat Web 服务器,在浏览器地址栏中键入地址:

http://localhost:8080/SpringMVC/shirdrn.abc

可以看到输出index.jsp页面的内容,如图所示:

分享到:
评论

相关推荐

    Spring MVC 入门实例

    基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController 的程序进行处理, helloController 再调用 一个名为 ...

    spring SimpleUrlHandlerMapping工程使用源码

    1.使用了spring SimpleUrlHandlerMapping实现handler Mapping. 2.使用了HandlerIntercepterAdaptor实现Controller的拦截处理 使用方法: 1.导入工程 2.键入...

    NetBeans8.1开发Spring MVC的基础代码

    NetBeans为Spring3 mvc生成的基础样板代码:ControllerClassNameHandlerMapping 和SimpleUrlHandlerMapping

    spring mvc_02

    SimpleUrlHandlerMapping

    看透springMvc源代码分析与实践

    21.2 实际跟踪一个请求275 第22章 异步请求281 22.1 Servlet 3.0对异步请求的支持281 22.1.1 Servlet 3.0处理异步请求实例282 22.1.2 异步请求监听器Async-Listener284 22.2 Spring MVC中的异步请求286 22.2.1...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring中文帮助文档

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...

    Spring API

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...

    spring chm文档

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    spring in action英文版

     6.6.2 在Spring里置入一个Web Service  6.7 小结  第7章 访问企业服务  7.1 从JNDI中获取对象  7.1.1 使用传统的JNDI  7.1.2 代理JNDI对象  7.2 发送电子邮件  7.3 调度任务  7.3.1 使用...

    org.springframework.web.servlet-3.0.1.RELEASE-A.jar

    Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0' defined in ServletContext resource [/WEB-INF/springMVC-servlet.xml]: Initialization of bean failed;...

    Spring in Action(第2版)中文版

    2.2.1声明一个简单的bean 2.2.2通过构造函数注入 2.3注入bean属性 2.3.1注入简单的数值 2.3.2使用其他的bean 2.3.3装配集合 2.3.4装配空值 2.4自动装配 2.4.1四种自动装配类型 2.4.2混合使用自动和手动装配...

    SPRING API 2.0.CHM

    All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....

    SpringMVC 快速入门看见爱发

    DispatcherServlet -- 前置控制器 HandlerMapping接口 -- 处理请求... SimpleUrlHandlerMapping 通过配置文件,把一个URL映射到Controller DefaultAnnotationHandlerMapping 通过注解,把一个URL映射到Controller类上

Global site tag (gtag.js) - Google Analytics