Spring Web MVC基础的一个小实例

简介

  • Spring 提供了一个Web MVC框架,便于开发MVC结构的Java Web程序。
  • Spring MVC框架控制器为DispatcherServlet,DispatcherServlet负责接收请求,然后将请求分发到不同的处理器进行业务处理,最后由控制器完成转发动作。
  • Spring Web MVC提供了M、V和C相关的实现,主要实现组件如下:
    – DispatcherServlet(控制器,请求入口)
    – HandlerMapping(控制器,请求派发)
    – Controller(控制器,请求处理流程)
    – ModelAndView(模型,封装处理结果和视图)
    – ViewResolver(视图,视图显示处理器)
  • Spring Web MVC的主要处理流程如下:
    主要处理流程

应用

  • 搭建Spring Web MVC环境的步骤如下:
    • 创建web项目工程
    • 添加ioc和webmvc开发包
    • 添加Spring配置文件applicationContext.xml
    • 在web.xml和applicaationContext.xml中分别配置

简单实例

  1. 首先创建一个动态web工程
    这里写图片描述

    创建完成之后,默认不提供web.xml,这时我们需要右击Deployment Descriptor:SpringWebMVC,然后点击Generate Deployment Descriptor Stub,即可生成web.xml;但是如果在创建时选择了版本(亲测3.0以下都可以),那么就可以不用考虑这一步

    这里写图片描述

  2. 导入相关jar包和配置文件的模板:

    1. 导入与IOC相关、与webmvc相关的jar包
    2. 再添加applicationContext.xml文件,放入Java Resources中的src目录下即可
  3. 设计流程
    简单流程设计
  4. 开始配置

    1. 在web.xml中配置DispatcherServlet

      <servlet>
      <servlet-name>SpringWebMVC</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:applicationContext.xml</param-value>
      </init-param>
      </servlet>
      <servlet-mapping>
      <servlet-name>SpringWebMVC</servlet-name>
      <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    2. 在applicationContext.xml中配置HandlerMapping、ViewResolver

      <!-- 定义HelloController -->
      <bean id="HelloController" class="com.ll.HelloController"></bean>
      <!-- SpringWebMVC -->
      <!-- 定义HandlerMapping -->
      <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          <property name="mappings">
              <props>
                  <!-- <prop key="请求">Controller的id</prop> -->
                  <prop key="hello.do">HelloController</prop>
              </props>
          </property>
      </bean>
      
      <!-- 定义viewResolver -->
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/jsp/"></property>
          <property name="suffix" value=".jsp"></property>
      </bean>
  5. 开始编辑Controller(HelloController.java)

    package com.ll;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    public class HelloController implements Controller{
    
        @Override
        public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
            ModelAndView mav = new ModelAndView();
            mav.setViewName("hello");
            return mav;
        }
    }    

    注意:默认工程没有Apache Tomcat服务,因此需要自己添加这一个Library,具体添加过程 : 右击SpringWebMVC工程名 =》左击Build Path =》 左击Configure Build Path =》 找到Libararies =》点击Add Library =》 选择Server Runtime =》 选择Apache下的Apache Tomcat v7.0 =》 点击Apply =》 最后点击ok完成

  6. 编辑View视图(hello.jsp)

         <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
        </head>
        <body>
            Hello Spring Web MVC!
        </body>
        </html>
  7. 测试程序
    首先将我们的项目添加到tomcat服务器上

    • 打开Servers控制台:最上面找到Window =》Show View =》找到Server(如果未找到就继续往下) =》 Other =》 Server =》 Servers。
    • 创建一个Tomcat的Server:在Servers控制台中右键 =》 New =》 Server =》 找到Apache =》 选择Tomcat版本(本实例使用Tomcat v7.0 Server) =》 Next =》 选择左边框中我们需要添加的工程SpringWebMVC =》 点击中间位置的Add =》 点击Finish。

    发布工程到Tomcat服务器中

    • 右键点击Servers中的Tomcat v7.0 Server at localhost =》 Publish

    启动Tomcat服务器

    • 右键点击Servers中的Tomcat v7.0 Server at localhost =》 Start

    在网页输入请求测试程序

    • Tomcat的服务器端口默认是8080

    请求格式:http://主机ip:Tomcat端口/工程名称/请求
    本次请求:http://localhost:8080/SpringWebMVC/hello.do


  8. 页面显示结果

    执行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值