- 浏览: 303040 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1086现在假设您要设 ... -
Spring MVC框架类图与顺序图
2011-03-14 08:08 4895藉由了解Spring的框架组成,我们可以了解框架之中的类与 ... -
Spring入门19 - ModelAndView类别
2011-03-14 08:07 1312入门 19 - ModelAndView类别 ... -
DispatcherServlet定义档
2011-03-14 08:07 844DispatcherServlet预设使用servlet名 ... -
入门 16 - BeanFactoryPostProcessor接口
2011-03-14 08:05 979撰写Bean定义档通常使用XML来撰写,XML阶层式的组织 ... -
入门 15 - Aware相关接口
2011-03-14 08:05 959Spring中提供一些Aware相关接口,像是BeanFa ... -
入门 14 - 资源文件的取得
2011-03-14 08:04 854首先来看看ApplicationContext接口的实作 ... -
入门 13 - MessageResource接口
2011-03-14 08:03 1083ApplicationContext继承了org.spri ... -
入门 12 - ApplicationContext接口
2011-03-14 08:03 877在Spring中,BeanFactory提供的是个比较API层 ... -
入门 11 - DataSource注入
2011-03-14 08:02 961对于不同的数据库存取需求,我们使用JDBC来解决这个 ... -
入门 10 - 集合对象注入
2011-03-14 08:01 777对于像数组、java.util.List、java. ... -
入门 09 - 属性参考与自动绑定
2011-03-14 08:00 825在定义Bean时,除了直接指定值给属性值之外,还可以直接参 ... -
入门 08 - 不使用XML定义档
2011-03-14 07:59 806XML档案的阶层格式非常适用于于组态设定,也因此几 ... -
入门 07 - Bean生命周期
2011-03-14 07:59 753在Spring中,从BeanFactory取得的实 ... -
入门 06 - Bean定义档进阶读取
2011-03-14 07:58 842BeanFactory可以接受InputStrea ... -
Constructor注入
2011-03-14 07:57 1017Spring鼓励的是setter injection,但也 ... -
第一个Spring程序
2011-03-14 07:57 844首先我们要先取得Sprin ... -
入门 03 - 依赖注入DI
2011-03-14 07:56 821IoC模式基本上是一个高层的概念,在Martin Fow ... -
控制反转IoC
2011-03-14 07:55 801IoC全名Inversion of Control,如果 ... -
简介 Spring
2011-03-14 07:54 753入门 01 - 简介 Spring Spring是轻量 ...
相关推荐
如果你的数据库已经配置好, 就将第一个注释去掉. jdbc.properties: 1 jdbc.driverClassName=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 3 jdbc....
第一章:Spring Web MVC入门 包括:是什么、能干什么、有什么、各个组成部分的功能、HelloWorld等 第二章:理解DispatcherServlet 包括:功能、配置、上下文关系、初始化顺序等 第三章:注解式控制器开发详解 ...
使用Spring MVC进行设计Web网页使用MVC进行架构设计!
本资源,是一些示例代码,包括CXF,Spring MVC,是编写博文的示例代码。同时会不断的修改,最新版本请看日期版本号 1.博文示例代码:使用CXF和Spring...2.博文示例代码:第 1 部分:Spring MVC入门,快速搭建web应用
篇文章将教你快速地上手使用 Spring 框架,如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦!
第1章认识Spring ...Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本 喜欢Java web开发的童鞋可以上手Spring MVC
2、平台环境:JAVA1.6以上、Apache Tomcat6.0以上、MS SQL2005(可以自己更换数据库,在persistence.xml更改参数就行,具体配置参考第一天给出的链接) 3、调试环境:eclipse(File-import-existing Eclipse projects...
3 小结 18 第 2 章开发第一个应用程序 19 2 . 1 运用 Spring Boot 19 2 . 1 . 1 查看初始化的 Spring soot 新项目 21 21 . 2 Spring Boot 项目构建过程解析 24 2 . 2 使川起步依赖, 27 2 . 2 . 1 指定基于功能的...
第一部分前言 15 1.入门 16 2.介绍 17 2.1什么是Spring Security? 17 2.2历史 19 2.3版本编号 20 2.4获得Spring安全 21 2.4.1使用Maven 21 Maven仓库 21 Spring框架 22 2.4.2 Gradle 23 Gradle存储库 23 使用Spring...
使用Spring Boot的第一个Web应用程序只需25个步骤,即可使用Spring Boot开发您的第一个Web应用程序安装工具PDF: : 视频: : GIT存储库: : 课程大纲介绍开发第一个Spring Boot Web应用程序很有趣。 Spring Boot使...
第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Boot新项目 21 2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 ...
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis...
java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 ...1995 sun正式发布java第一个版本,目前最新是jdk7.0
2、平台环境:JAVA1.6以上、Apache Tomcat6.0以上、MS SQL2005(可以自己更换数据库,在persistence.xml更改参数就行,具体配置参考第一天给出的链接) 3、调试环境:eclipse(File-import-existing Eclipse projects...
第一章 Web MVC简介.pdf 第二章 Spring MVC入门 .pdf 第三章 DispatcherServlet详解.pdf 第四章 Controller接口控制器详解(1).pdf 第四章 Controller接口控制器详解(2).pdf 第四章 Controller接口控制器详解(3...
第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Boot新项目 21 2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 覆盖...
======================================================================== <br>第1篇 概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中...
第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用...
======================================================================== <br>第1篇 概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中...
======================================================================== <br>第1篇 概述 第1章 Spring概述 第2章 快速入门 第2篇 Spring核心技术 第3章 IoC容器概述 第4章 在IoC容器中...