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 ]
 




目录
相关文章
|
3月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
18天前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
18天前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
14 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
18天前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
16 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
25天前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
49 2
|
2月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
27天前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
75 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
2月前
|
XML 缓存 前端开发
springMVC02,restful风格,请求转发和重定向
文章介绍了RESTful风格的基本概念和特点,并展示了如何使用SpringMVC实现RESTful风格的请求处理。同时,文章还讨论了SpringMVC中的请求转发和重定向的实现方式,并通过具体代码示例进行了说明。
springMVC02,restful风格,请求转发和重定向
|
3月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
3月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合