- 浏览: 311345 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhou363667565:
看到你的这个配置 有个地方有点问题:
< aop:po ...
spring ibatis 事务配置 -
wo17796452:
[b][/b][i][/i][u][/u]引用[*][img] ...
crowd Jira confluence 集成 -
wo17796452:
<input type="button&quo ...
crowd Jira confluence 集成 -
benbear2008:
这些类图呢?
Spring MVC框架类图与顺序图 -
TTLtry:
谢了 最近学习spring时候 却总是登不上官方网站 很多 ...
Spring 2.5.5 api 帮助文档 chm格式 下载
进行这个程序之前,请您先完成入门 04 - 第一个Spring程序。 Controller.java public interface Controller { public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception; } web.xml <?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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" version="2.4"> <description> Spring App Examples. </description> <display-name>Spring App Examples</display-name> <servlet> <servlet-name>hello</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/hello1-servlet.xml, /WEB-INF/hello2-servlet.xml</param-value> </init-param> </servlet> hello-servlet.xml <?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="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hellouser.do">helloUserAction</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.InternalResourceView</value> </property> </bean> <bean id="helloUserAction" class="onlyfun.caterpillar.HelloUserAction"> <property name="helloWord"> <value>Hello!</value> </property> <property name="viewPage"> <value>/WEB-INF/jsp/hellouser.jsp</value> </property> </bean> </beans> HelloUserAction.java package onlyfun.caterpillar; import java.io.IOException; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import org.springframework.web.servlet.mvc.Controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.bind.RequestUtils; public class HelloUserAction implements Controller { private String helloWord; private String viewPage; public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String user = RequestUtils.getRequiredStringParameter(req, "user"); Map model = new HashMap(); model.put("helloWord", getHelloWord()); model.put("user", user); return new ModelAndView(getViewPage(), model); } public void setViewPage(String viewPage) { this.viewPage = viewPage; } public String getViewPage() { return viewPage; } public void setHelloWord(String helloWord) { this.helloWord = helloWord; } public String getHelloWord() { return helloWord; } } hellouser.jsp <html> <head><title>HelloPage</title></head> <body> <H1> ${helloWord}, ${user}!!</H2> </body> </html> http://localhost:8080/springapp/hellouser.do?user=Justin <html> <head><title>HelloPage</title></head> <body> <H1> Hello!, Justin!!</H2> </body> </html>
我们的第一个Spring MVC Web程序将使用Tomcat 5.0.28来示范,我们在webapps目录下建立一个springapp目录,这次为了方便,我们直接使用spring.jar,以及其相依的 commons-logging.jar,请将这两个jar放到 springapp/WEB-INF/lib下。
Spring MVC框架的中心是dispatcher:org.springframework.web.servlet.DispatcherServlet。 DispatcherServlet负责将Web请求分派(dispatch)给handler,Spring为handler定义了预设接口: org.springframework.web.servlet.mvc.Controller:
DispatcherServlet分派请求的根据是委托给实作 org.springframework.web.servlet.HandlerMapping接口的对象来处理,例如 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping,请求与 handler之间的映射是撰写在Bean定义档中。
DispatcherServlet本身是一个Servlet,我们要先在web.xml中定义:
在web.xml中,我们定义了一个DispatcherServlet的实例hello,所有*.do结尾的请求都会由它来处理, DispatcherServlet预设会使用Servlet的名称为前置,读取name-servlet.xml作为其Bean定义档,以上面的设定即 读取hello-servlet.xml。依这个机制,如果您要多个模块,可以定义不同的名称来使用多个DispatcherServlet的实例,并分别读取不同的Bean定义档。
您也可以自行定义Bean定义档的名称,像是:
我们这边使用预设的hello-servlet.xml作为Bean定义档的名称,其内容如下:
DispatcherServlet将请求与handler的映射交给HandlerMapping的实作 org.springframework.web.servlet.view.InternalResourceViewResolver,在上面的设定中,我们将/hellouser.do的请求交给名称为helloUserAction的handler,它是个实作Controller接口的类别,我 们待会再来看看它。
先来关心一下viewResolver,Spring可以让您使用不同的表示层技术,透过viewResolver的转换,您的表示层可以使用纯綷的 JSP/Servlet、JSTL、Velocity、Tiles等等,在这边我们使用JSP/Servlet,您只要简单的设定viewClass属性 为org.springframework.web.servlet.view.InternalResourceView。如果您的表示层使用 JSTL,则可以设定org.springframework.web.servlet.view.JstlView,同样的,对于Spring支持的其 它表示层技术,Spring都提供有一个viewClass可以设定。
来看看helloUserAction,它实作了Controller界面:
handlerRequest()在MVC/Model2中扮演的作用,在于处理请求内容、呼叫商务对象、准备Model,它必须返回一个ModelAndView的实例,表示最后要显示给使用者观看的表示层资源。
在上面的例子中,我们只是将请求中的user参数取出,填入Model中,ModelAndView接受一个Map对象作为请求,之后viewResolver会根据所设定的viewClass将之转换为View层可以抽取出来的数据源。
在上面的例子中,我们使用了依赖注入的方式设定helloWord,以及View的地址,利用依赖注入的方式,我们可以避免将View的资源地址写死在 程序中,而请您回顾一下viewPage属性,我们设定其为/WEB-INF/jsp/hellouser.jsp,将资源设定在WEB-INF中,可以避免使用者直接存取资源,以获得较高的安全性与资源访问控制
hellouser.jsp的内容如下,我们使用了JSP 2.0的Expression Language将Model取出以显示在页面上:
现在可以启动您的Servlet容器了,在网址列输入本地测试地址:
我们给了一个请求参数user=Justin,程序执行的结果如下:
发表评论
-
入门 21 - Controller的单元测试
2011-03-14 08:09 1128现在假设您要设 ... -
Spring MVC框架类图与顺序图
2011-03-14 08:08 4981藉由了解Spring的框架组成,我们可以了解框架之中的类与 ... -
Spring入门19 - ModelAndView类别
2011-03-14 08:07 1352入门 19 - ModelAndView类别 ... -
DispatcherServlet定义档
2011-03-14 08:07 884DispatcherServlet预设使用servlet名 ... -
入门 16 - BeanFactoryPostProcessor接口
2011-03-14 08:05 1012撰写Bean定义档通常使用XML来撰写,XML阶层式的组织 ... -
入门 15 - Aware相关接口
2011-03-14 08:05 991Spring中提供一些Aware相关接口,像是BeanFa ... -
入门 14 - 资源文件的取得
2011-03-14 08:04 883首先来看看ApplicationContext接口的实作 ... -
入门 13 - MessageResource接口
2011-03-14 08:03 1125ApplicationContext继承了org.spri ... -
入门 12 - ApplicationContext接口
2011-03-14 08:03 914在Spring中,BeanFactory提供的是个比较API层 ... -
入门 11 - DataSource注入
2011-03-14 08:02 1061对于不同的数据库存取需求,我们使用JDBC来解决这个 ... -
入门 10 - 集合对象注入
2011-03-14 08:01 822对于像数组、java.util.List、java. ... -
入门 09 - 属性参考与自动绑定
2011-03-14 08:00 872在定义Bean时,除了直接指定值给属性值之外,还可以直接参 ... -
入门 08 - 不使用XML定义档
2011-03-14 07:59 849XML档案的阶层格式非常适用于于组态设定,也因此几 ... -
入门 07 - Bean生命周期
2011-03-14 07:59 796在Spring中,从BeanFactory取得的实 ... -
入门 06 - Bean定义档进阶读取
2011-03-14 07:58 873BeanFactory可以接受InputStrea ... -
Constructor注入
2011-03-14 07:57 1052Spring鼓励的是setter injection,但也 ... -
第一个Spring程序
2011-03-14 07:57 879首先我们要先取得Sprin ... -
入门 03 - 依赖注入DI
2011-03-14 07:56 863IoC模式基本上是一个高层的概念,在Martin Fow ... -
控制反转IoC
2011-03-14 07:55 840IoC全名Inversion of Control,如果 ... -
简介 Spring
2011-03-14 07:54 784入门 01 - 简介 Spring Spring是轻量 ...
相关推荐
- 控制反转是Spring框架的核心,它通过描述(如XML配置或注解)由第三方(Spring容器)生成或获取被依赖的实例,从而实现对象之间的解耦,减少程序间依赖,提升模块化程度。 - 依赖注入是IoC的一种表现形式,它从...
如果你的数据库已经配置好, 就将第一个注释去掉. jdbc.properties: 1 jdbc.driverClassName=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 3 jdbc....
这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...
### Spring MVC 第一个入门程序详解 #### 一、前言:为什么选择Spring MVC? 随着互联网技术的飞速发展,Web应用程序的需求日益增加。为了更好地管理Web应用中的业务逻辑与数据展示,模型-视图-控制器(Model-View...
Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。...对于初学者来说,从搭建环境、创建第一个“Hello, World”开始,逐步深入学习各个组件和特性,是掌握Spring MVC的关键步骤。
创建Spring MVC项目的第一步是创建一个Maven项目,并在`pom.xml`文件中配置必要的依赖。你需要引入Spring Web、Spring MVC以及Servlet API等相关依赖。例如: ```xml <groupId>org.springframework ...
创建第一个Spring MVC项目时,我们需要在STS中生成项目,并通过pom.xml文件添加必要的Spring库依赖。这通常包括Spring MVC的核心模块,以及其他支持如视图解析和数据绑定的组件。添加欢迎页面是一个快速入门的好方法...
这个框架提供了一种模型-视图-控制器(MVC)架构来创建服务,并且支持WSDL(Web Service Description Language)第一类公民,使得服务接口定义清晰且易于理解。 描述中虽然没有具体信息,但通常Spring Web Services...
Spring 3.0 MVC 是一个强大的Java框架,用于构建企业级Web应用程序。它以其模块化、松耦合和高度可配置性而闻名。本自学教程集合了多种资源,旨在帮助初学者逐步掌握Spring 3.0 MVC的核心概念,并通过实际项目实例...
【描述】:“Java Spring MVC超简单,Spring MVC入门,第一个Java程序,IntelliJ IDEA入门” 这表明我们将从零开始,逐步学习如何在IntelliJ IDEA这个强大的Java集成开发环境中配置Spring MVC环境,创建并运行一个...
**Spring MVC 入门教程** ...通过实践,你已经迈出了学习 Spring MVC 的第一步。对于标签中的 "源码",你可以在 `MySpringMVC` 中查看具体的代码实现;对于 "工具",这里主要涉及的是 Maven 和 IDE 的使用。
为了进行Spring MVC的入门学习,第一步是搭建开发环境。可以按照以下步骤来操作: 1. 创建一个项目,例如命名为springMVC_01_helloword。 2. 导入Spring MVC所需的jar包,可以导入Spring 3.0版本的所有jar包。 3....
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。本章将介绍如何入门 Spring MVC,通过提供的源代码下载,你...
在Spring MVC中,`HelloWorld`是常见的第一个示例,它展示了如何设置和运行一个简单的应用程序。首先,我们需要配置Spring MVC的核心容器——DispatcherServlet,它作为前端控制器接收所有HTTP请求,并将它们分发到...
Spring框架是一个开源的Java平台,用于构建企业级应用程序。它提供了一种简洁的方式来管理组件、事务处理、数据访问以及与各种第三方库集成。Spring的核心功能包括依赖注入(DI)、面向切面编程(AOP)和容器管理等...
《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》是一份全面深入讲解Java企业级应用开发的教程,重点聚焦于Spring、Spring MVC和MyBatis这三个核心框架。这些技术在现代Java开发中占据着举足轻重的地位...
- 文件:`第一个Spring.docx` 可能是关于构建第一个Spring MVC应用的教程,涵盖了基本配置和简单Controller的编写。 总之,Spring MVC 是一个功能强大且灵活的Web框架,通过它我们可以构建高效、可维护的Java Web...
学习 Spring MVC 的第一步通常是创建一个简单的 "Hello World" 示例。这通常涉及设置开发环境,配置 DispatcherServlet、HandlerMapping、HandlerAdapter 和 ViewResolver,编写处理器类(Controller),以及定义...
在实际项目中,"spring-mvc基础入门"可能包括创建一个简单的Spring MVC项目,配置web.xml和Spring的Context配置,编写第一个Controller,处理GET和POST请求,学习如何注入Service层,理解模型数据的传递,以及如何...