编写一个简单的spring MVC程序

一、下载和安装spring框架

  进入http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.0.RELEASE/下载一个spring框架,然后打开lib目录里的jar文件拷贝到项目的WEB-INF/lib目录下。

二、配置web.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<servlet>
  <!-- servlet名称 -->
  <servlet-name>springmvc</servlet-name>
  <!-- servlet对应的类 -->
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <!-- 当前servlet的参数信息 -->
  <init-param>
     <!-- contextConfigLocation是参数名称,该参数的值包括Spring MVC的配置文件路径-->
     <param-name>contextConfigLocation</ param-name >
     <param-value>/WEB-INF/springmvc-config.xml</param-value>
  </init-param>
  <!-- 在web应用启动时立即加载Servlet -->
    <load-on-startup>1</load-on-startup>
</servlet>
<!-- 让Spring MVC的前端控制器拦截所有请求 -->
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

三、配置Spring MVC的Controller 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
             xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
  <!-- 配置Handle,映射“/hello” 请求-->
  <bean name="/hello" class="org.fkit.controller.HelloController" />
  <!-- 处理映射器将bean的name作为URL进行查找,需要在配置Handle是指定name(即URL) -->
   <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
  <!-- SimpleControllerHandlerAdapter是一个处理器适配器,所有处理适配器都需要实现 HandlerAdapter接口-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/ >
  <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/ >
<beans>

四、Controller类的实现  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.ibs.controller;
  
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
  
@Controller
public class HelloController {
  private static final Log logger = LogFactory.getLog(HelloController.class);
 
  /* handleRequest是Controller接口必须实现的方法。
      该方法的参数是对应请求的HttpservletRequest和HttpservletResponse.
     该方法必须返回一个包含视图名或视图名和模型的ModelAndView对象
     */
  
  @RequestMapping(value="/hello")
   public ModelAndView hello() {
  
    // 生成日志
    logger.info("hello,world!!"); 
    // 创建一个ModelAndView 对象
    ModelAndView mv = new ModelAndView();
    // 添加模型数据,可以是任意POJO对象
    mv.addObject("message","Another hello world...");
    // 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
    mv.setViewName("/WEB-INF/content/welcome.jsp");
    // 返回这个ModelAndView 对象
    return mv;
   }
 }

五、View页面 

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>欢迎页面</title>
</head>
<body>
  <!-- 页面可以访问Controller传递传递出来的message -->
  ${requestScope.message}
</body>
</html>
posted on 2017-08-28 15:55  CICD  阅读(363)  评论(0编辑  收藏  举报