`

Spring MVC实例

 
阅读更多
  Spring MVC是spring的一个子模块,用于方便web应用的开发。以下是如何配置和使用spring mvc的一个简单示例。包括用xml文件配置映射以及使用spring的注解。由于采用maven管理项目的依赖,所以无需自己手动下载各种jar包,在pom文件中添加依赖的坐标,maven会自动下载。

使用xml配置spring的控制器映射实例:

整个项目结构如下图所示:


pom文件中配置如下依赖:

<!-- Spring framework -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring</artifactId>
			<version>2.5.6</version>
		</dependency>

		<!-- Spring MVC framework -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>2.5.6</version>
		</dependency>

		<!-- JSTL -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.1.2</version>
		</dependency>

		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>

		
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>

整个web.xml配置如下:

<web-app id="WebApp_ID" 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">

	<display-name>Spring Web MVC Application</display-name>

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

	<servlet-mapping>
		<servlet-name>mvc-dispatcher</servlet-name>
		<url-pattern>*.htm</url-pattern>
	</servlet-mapping>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

</web-app>


所有以.htm结尾的请求都由spring的核心控制器DispatcherServlet进行处理,该处理器会找到具体的控制器进行请求处理。
mvc-dispatcher-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
	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-2.5.xsd">

	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/pages/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>

	<bean name="/welcome.htm" 
		class="com.mkyong.common.controller.HelloWorldController" />

</beans>

控制器代码:
package com.mkyong.common.controller;

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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class HelloWorldController extends AbstractController {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ModelAndView model = new ModelAndView("HelloWorldPage"); //加上配置文件中的prefix和suffix就是完整的URL 
		model.addObject("msg", "hello world"); //设置模型的值,在视图中可以访问  

		return model;
	}

}
spring mvc注解版
项目目录结构和上一个实例相同。
只是控制器是以注解形式的java文件。

package com.mkyong.common.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
@RequestMapping("/welcome2008")
public class HelloWorldController{
 
	@RequestMapping(method = RequestMethod.GET)
	public ModelAndView helloWorld(){
 
		ModelAndView model = new ModelAndView("HelloWorldPage");
		model.addObject("msg", "hello world with spring annotation");
 
		return model;
	}
}

spring的配置文件也有所不同。

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	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.5.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 
	<context:component-scan base-package="com.mkyong.common.controller" />  <!-- make annocation works -->
 
	<bean id="viewResolver"
      	   class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
           <property name="prefix">
              <value>/pages/</value>
           </property>
           <property name="suffix">
              <value>.jsp</value>
           </property>
        </bean>
 
</beans>

使用maven的命令 mvn jetty:run启动jetty容器后输入
http://localhost:8080/springMVCAnno/welcome2008.htm即可访问相应的jsp文件。即pages目录下的HelloWorldPage.jsp文件。
注意welcome2008是和控制器@RequestMapping("/welcome2008")一致的,如果不一致,会出现找不到错误。

项目的所有源码见附件。
  • 大小: 15.4 KB
分享到:
评论

相关推荐

    spring mvc 实例

    在Spring MVC实例中,我们通常会遇到以下关键知识点: 1. **MVC架构**:MVC是一种设计模式,将应用分为三个主要部分:Model(模型)负责业务逻辑,View(视图)负责展示结果,Controller(控制器)处理用户请求并...

    Spring MVC 实例

    **Spring MVC 框架详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。Spring MVC 提供了灵活的处理机制,包括处理器映射、视图解析、数据绑定、本地...

    Spring Mvc实例

    总结来说,Spring MVC实例展示了如何通过注解驱动开发实现Web应用的路由控制、数据绑定、视图解析以及数据库操作。这个实例对于理解Spring MVC的工作原理和实际应用是非常有帮助的,也是Java Web开发者必备的技能之...

    Spring MVC实例 MVC注解配置

    Spring MVC 是一个强大的Java Web开发框架...综上所述,Spring MVC实例中的MVC注解配置大大简化了Web应用的开发流程,使得代码更加简洁、直观。通过熟练掌握这些知识点,开发者能够高效地构建出高质量的Java Web应用。

    学习Spring MVC,关于注解的Spring MVC,简单例子,关于控制器的Spring MVC,学习Spring,简单Spring MVC实例

    在Spring MVC实例中,通常会涉及到配置文件,如`spring-mvc.xml`,但现在更推荐使用Java配置。例如,你可以创建一个`WebConfig`类,然后使用`@Configuration`和`@EnableWebMvc`注解来启用Spring MVC: ```java @...

    Spring mvc 实例下载可运行

    在这个实例中,"Spring mvc 实例下载可运行" 提供了一个可以直接运行的Spring MVC项目,帮助开发者更好地理解和学习Spring MVC的实践操作。 1. **Spring MVC基本概念** - **模型(Model)**:存储业务数据的部分,...

    spring mvc实例

    总结来说,Spring MVC实例是一个绝佳的学习工具,它让你能够亲手实践MVC模式,理解Spring框架如何协调各个组件来处理Web请求。通过深入研究这个实例,你将掌握Spring MVC的核心概念,为今后的Web开发打下坚实的基础...

    Spring MVC实例的简单项目

    **Spring MVC 实例详解** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。这个实例项目旨在帮助我们理解如何在实际开发中运用 Spring MVC。让我们深入探讨一下...

    spring mvc实例项目

    学习这个实例项目,你可以深入理解Spring MVC如何处理请求、如何与ExtJS2进行数据交互,以及如何利用Spring JDBC进行数据库操作。同时,它也展示了MVC模式在实际项目中的应用,有助于提升你对Web应用开发的整体理解...

    spring MVC 实例代码

    基于注解的spring mvc,dao 层注解:@Repository("userDao"), entity层注解:@Entity,service层注解:@Service("userService"), action层注解:@Controller("userController") @RequestMapping("/user.do")

    Spring MVC 实例(附带详细讲解)

    在本实例中,我们将深入理解Spring MVC的基本概念,以及如何在一个实际项目中运用它。 首先,Apache Tomcat 是一个广泛使用的开源Java Servlet容器,它实现了Servlet和JavaServer Pages (JSP) 规范,是搭建Spring ...

    Spring MVC 基于注解实例

    Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...

Global site tag (gtag.js) - Google Analytics