spring mvc(1):基础入门

简介: spring mvc(1):基础入门Posted on 2014-08-15 09:39 Lychie Fan 阅读(3815) 评论(1)  编辑  收藏 所属分类: spring mvc 依赖pom.


spring mvc(1):基础入门

Posted on 2014-08-15 09:39  Lychie Fan 阅读(3815)  评论(1)   编辑   收藏 所属分类:  spring mvc 

依赖

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 






   [ 随笔均原创,转载请注明出处:http://www.blogjava.net/fancydeepin ]
 




目录
相关文章
|
4天前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
|
5天前
|
设计模式 前端开发 Java
初识Spring MVC
初识Spring MVC
10 0
|
5天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
12 1
|
7天前
|
监控 前端开发 Java
SpringBoot与SpringMVC有哪些区别?
SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。
22 2
|
19天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
19天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
1月前
|
数据采集 前端开发 Java
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
23 3
|
1月前
|
存储 前端开发 Java
会话锦囊:揭示Spring MVC如何巧妙使用@SessionAttributes
会话锦囊:揭示Spring MVC如何巧妙使用@SessionAttributes
14 1
|
1月前
|
前端开发 Java Spring
数据之桥:深入Spring MVC中传递数据给视图的实用指南
数据之桥:深入Spring MVC中传递数据给视图的实用指南
33 3
|
1月前
|
前端开发 Java 容器
家族传承:Spring MVC中父子容器的搭建与管理指南
家族传承:Spring MVC中父子容器的搭建与管理指南
26 3