Spring MVC 入门教程示例 (一)

今天和大家分享下  Spring MVC  入门教程

首先还是从 HelloWorld  web 工程开始

--------------------------

1.首先创建一个Maven Web工程(此处 略啦)

2.增加项目依赖jar

   此jar包版本用户可以自行决定。在pom文件增加即可 

   例如:我这里使用的版本为 3.0.5版本

<properties>

    <spring.version>3.0.5.RELEASE</spring.version>

</properties>

   

 1         <!-- spring jars -->
 2         <dependency>
 3             <groupId>org.springframework</groupId>
 4             <artifactId>spring-core</artifactId>
 5             <version>${spring.version}</version>
 6         </dependency>
 7         <dependency>
 8             <groupId>org.springframework</groupId>
 9             <artifactId>spring-web</artifactId>
10             <version>${spring.version}</version>
11         </dependency>
12         <dependency>
13             <groupId>org.springframework</groupId>
14             <artifactId>spring-webmvc</artifactId>
15             <version>${spring.version}</version>
16         </dependency>

 

3. 编写web.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 5     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6 
 7     <display-name>Spring Web MVC Application HelloWorld</display-name>
 8 
 9     <context-param>
10         <param-name>contextConfigLocation</param-name>
11         <param-value>/WEB-INF/MVCHelloWord-servlet.xml</param-value>
12     </context-param>
13 
14     <listener>
15         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
16     </listener>
17 
18     <servlet>
19         <servlet-name>MVCHelloWord</servlet-name>
20         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
21         <load-on-startup>1</load-on-startup>
22     </servlet>
23     <servlet-mapping>
24         <servlet-name>MVCHelloWord</servlet-name>
25         <url-pattern>/</url-pattern>
26     </servlet-mapping>
27 
28     <welcome-file-list>
29         <welcome-file>index.jsp</welcome-file>
30     </welcome-file-list>
31     
32 </web-app>

说明:

1. context-param 节点:

    此节点中配置的是需要加载的配置文件路径  按照上面的示例  应用程序会去加载  WEB-INF  目录下  MVCHelloWorld  配置文件

2 servlet节点:

   和普通的J2EE工程中的Servlet没有本质区别 只是 servlet-class 中使用的是Spring提供的Class 而已

注:

  servlet 中 servlet-name 名称 和 context-param 中 param-name的名字是有关系的。

  servlet-name 名字 是 param-name名字的前缀 ,而 param-name中还要增加    -servlet

 

4.编写 MVCHelloWorld-servlet.xml 配置文件

  此文件放置路径在 之前的 web.xml 中已经明确定义 

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:context="http://www.springframework.org/schema/context"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="
 5         http://www.springframework.org/schema/beans     
 6         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 7         http://www.springframework.org/schema/context 
 8         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 9 
10     
11     <context:component-scan base-package="net.cc.controller" />
12 
13     <bean
14         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
15         <property name="prefix">
16             <value>/WEB-INF/page/</value>
17         </property>
18         <property name="suffix">
19             <value>.jsp</value>
20         </property>
21     </bean>
22 
23 </beans>

bean 中配置的是访问的资源 前缀、后缀 信息。

prefix 表示前缀,资源都在 WEB-INF 下 page 中

suffix 表示后缀,资源后缀 都是   .jsp  结尾

 

5. 编写 Java 代码

新建  net.cc.controller 包  并新建类:

 1 package net.cc.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.ui.ModelMap;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.bind.annotation.RequestMethod;
 7 
 8 /**
 9  * @author test
10  * @create 2014-8-15下午01:48:43
11  * @version 1.0
12  */
13 @Controller
14 @RequestMapping("/welcome")
15 public class HelloController {
16 
17     @RequestMapping(method = RequestMethod.GET)
18     public String printWelcoem(ModelMap model) {
19 
20         model.addAttribute("message", "Hello World!");
21         return "hello";
22     }
23 }

HelloController 类 与一般Java类没有什么区别,不需要实现或继承Spring中类  

@Controller  表示此类是一个控制器

@RequestMapping  表示 /welcome  用户访问此路径时 会进入此类

 

printWelcome类中 只是给model中 增加一个信息   key是 message     value是 Hello World     并return 一个hello

这个 hello最终会变成  hello.jsp   因为在之前的配置文件中已经确定了 后缀都是  .jsp 结尾   所以 用户需要编写一个   hello.jsp文件

这个  hello.jsp文件 放置的目录也已经在之前的配置文件中定义好。 在  WEB-INF 下 page 中  用户在此目录下创建  hello.jsp 文件即可

当用户想在 界面上获取 控制器中的内容 可以用   ${}   即可  

按照上面的代码示例, 如果想在 hello 界面上 获取信息  可使用  ${message}  即可打印出 Hello World

 

----------------------------------------------------

 

至此  HelloWorld 工程编写完成  用户可直接部署到 Tomcat 等皆可

访问路径   http://IP:port/工程名称/welcome

 

--------------------------------------------------------------------------------------------------------

如果有描述不正确的地方  还请各位指出~~   谢谢   😄

 

posted on 2014-08-15 14:36  小沫9  阅读(247)  评论(0编辑  收藏  举报