spring mvc(1):基础入门


依赖

pom.xml ( maven )
< properties >
   < spring .version >3.0.5.RELEASE </ spring.version >
</ properties >
< dependencies >
   < dependency >
     < groupId >org.springframework </ groupId >
     < artifactId >spring-core </ artifactId >
     < version >${spring.version} </ version >
   </ dependency >
   < dependency >
     < groupId >org.springframework </ groupId >
     < artifactId >spring-web </ artifactId >
     < version >${spring.version} </ version >
   </ dependency >
   < dependency >
     < groupId >org.springframework </ groupId >
     < artifactId >spring-webmvc </ artifactId >
     < version >${spring.version} </ version >
   </ dependency >
</ dependencies >
没有使用 maven 的需手工导入包 ( 3.0.4 + 版本自由选择 ) :
spring-core-3.0.5.RELEASE.jar
spring-asm-3.0.5.RELEASE.jar
spring-web-3.0.5.RELEASE.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-aop-3.0.5.RELEASE.jar
spring-webmvc-3.0.5.RELEASE.jar
spring-context-support-3.0.5.RELEASE.jar
spring-expression-3.0.5.RELEASE.jar
aopalliance-1.0.jar
commons-logging-1.1.1.jar

web.xml 配置

为使用 Spring MVC,首先需要在 web.xml 中配置 DispatcherServlet。
它与 Struts 的过滤器作用类似,主要负责拦截请求并分发给对应的目标来处理。
web.xml
< servlet >
   < servlet-name >dispatcher </ servlet-name >
   < servlet-class >org.springframework.web.servlet.DispatcherServlet </ servlet-class >
   < load-on-startup >1 </ load-on-startup >
</ servlet >

< servlet-mapping >
   < servlet-name >dispatcher </ servlet-name >
   < url-pattern >/ </ url-pattern >
</ servlet-mapping >
这种配置方式要求项目中必须存在 WEB-INF/[servlet-name]-servlet.xml 配置文件 ( 如这里的 dispatcher-servlet.xml )。
你也可以通过 <init-param> 来自定义指定配置文件的路径和名称。
web.xml
< servlet >
   < servlet-name >dispatcher </ servlet-name >
   < servlet-class >org.springframework.web.servlet.DispatcherServlet </ servlet-class >
   < init-param >
     < param-name >contextConfigLocation </ param-name >
     < param-value >classpath:spring-mvc.xml </ param-value >
   </ init-param >
   < load-on-startup >1 </ load-on-startup >
</ servlet >

< servlet-mapping >
   < servlet-name >dispatcher </ servlet-name >
   < url-pattern >*.action </ url-pattern >
</ servlet-mapping >
<load-on-startup>1</load-on-startup>
load-on-startup 配置的是一个非负整数值,表示 Servlet 启动的优先级别。数值越小,优先级别越高。
0 或 不配置,表示只有当第一次使用该 Servlet 时,容器才会去启动它 ( 包括加载、实例化、以及调用 init() 方法完成初始化 )。
1 或 > 1,表示 Servlet 将随运用程序的启动而启动。
<url-pattern>*.action</url-pattern>
表示拦截所有 .action 的请求,并交由 Spring MVC 来处理,非 .action 的请求,将不由 Spring MVC 处理。
多个值之间用英文的逗号 “,” 分隔,需要注意的是,值与值之间不能存在空格:<url-pattern>*.action,*.htm</url-pattern>
<url-pattern>/</url-pattern>
表示拦截所有请求,并全部交由 Spring MVC 来处理。

Spring MVC 配置文件配置

spring-mvc.xml
<? xml version="1.0" encoding="UTF-8" ?>
< beans  xmlns ="http://www.springframework.org/schema/beans"  
  xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:mvc
="http://www.springframework.org/schema/mvc"
  xmlns:context
="http://www.springframework.org/schema/context"
  xsi:schemaLocation
="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
  http://www.springframework.org/schema/context 
  http://www.springframework.org/schema/context/spring-context-3.0.xsd"
>
  
   <!--  自动扫描的包  -->
   < context:component-scan  base-package ="org.lychie.tutorial.**.controller"   />
   <!--  开启注解支持  -->
   < mvc:annotation-driven />
  
   <!--  视图处理  -->
   < bean  class ="org.springframework.web.servlet.view.InternalResourceViewResolver" >
     <!--  前缀  -->
     < property  name ="prefix"  value ="/WEB-INF/pages/"   />
     <!--  后缀  -->
     < property  name ="suffix"  value =".jsp"   />
   </ bean >
  
</ beans >

Simple Example

HelloWorldController.java
package org.lychie.tutorial.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public  class HelloWorldController {

    @RequestMapping("/hello_world")
     public String execute(){
         return "hello_world_page";
    }
    
}
访问方式:/hello_world.action
页面结果:WEB-INF/pages/hello_world_page.jsp ( 与 spring-mvc.xml 配置文件中的配置相关联,具体是:前缀 + 方法返回值 + 后缀 )
@Controller
标识这是一个控制器,与 Struts 的 Action 作用相似。被标识的类具有处理请求的能力。
@RequestMapping
映射方法访问的 URL 地址,具体的使用放到下一章节中。

源代码下载

springmvc-helloworld.zip 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值