实现一个控制器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 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController 的程序进行处理, helloController 再调用 一个名为 ...
Spring MVC的工作流程大致如下:当一个HTTP请求到达服务器,DispatcherServlet作为入口点,它使用处理器映射器(如`ControllerClassNameHandlerMapping`或`SimpleUrlHandlerMapping`)来查找合适的处理器方法。...
### Spring MVC 附件上传知识点详解 #### 一、Spring MVC框架下的文件上传概述 在Spring MVC框架中实现文件上传功能是十分常见的需求之一。本文档将详细介绍如何在Spring MVC环境中配置并实现文件上传功能,包括...
下面是一个简单的示例,展示了如何使用 Spring MVC 创建一个控制器: ```java @Controller public class HelloController { @RequestMapping("/hello") public String sayHello(Model model) { model....
### Spring MVC 框架详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring 框架中的一部分,主要用于构建基于 Java 的 Web 应用...无论是新手还是有经验的开发人员,Spring MVC 都是一个值得深入研究和使用的框架。
描述:本文章将深入探讨Spring AOP(面向切面编程)的基础应用实例,通过解析Spring框架的启动过程以及AOP在实际项目中的集成与使用,为初学者提供一个全面理解Spring框架及其AOP特性的平台。 知识点详解: ### 一...
在本例中,我们探讨的是如何在MyEclipse环境中搭建一个简单的Spring MVC应用。Spring是一个流行的Java企业级应用程序框架,它提供了诸如依赖注入、AOP(面向切面编程)以及用于构建Web应用的MVC模式等核心功能。 ...
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应用开发中,主要涉及的是Spring MVC框架的使用,这是一个强大的用于构建Web应用程序的模型-视图-控制器(MVC)架构。以下是对标题和描述中提到的开发步骤的详细说明: 1. **配置前端控制器**:在`web.xml`...
9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...
9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...
9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...
9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...
在这个例子中,`@Path`注解定义了服务的URL路径,`@GET`表示这是一个GET请求,`@Produces`指定了可以返回的媒体类型(XML和JSON)。在实现类中,你需要创建一个Person对象并转换为XML或JSON格式。CXF会自动处理这些...