Spring MVC 入门 - Hello World

来源:互联网 发布:怎样手机做淘宝客赚钱 编辑:程序博客网 时间:2024/05/22 21:12
  1. 概念 :

    SpringMVC 是一个mvc 框架,通过实现mvc很好的把 数据、业务、展现分离
    SpringMVC 的设计围绕着 Dispatcher Servlet 来展开的,由Dispatcher Servlet 负责将求求派发到特定的Handler

  2. 请求处理过程
    简单叙述一下Spring MVC 的请求处理过程。
    这里写图片描述

如上图所示 ,客户端页面发送请求给 DispatcherServlet ,DispatcherServlet
因为只有一个servlet ,所以 由这个servlet 进行转发! 转发给一个映射。由hanldermapping进行判断!判断给具体哪个controller处理。controller 处理了请求之后 通过视图解析器 ,返回给前端页面 一个 ModelandView 对象。

  1. 具体配置步骤

(1)
新建一个web 项目 导入相关jar包
commons-logging-1.1.1.jar
spring-aop-4.3.1.RELEASE.jar
spring-beans-4.3.1.RELEASE.jar
spring-context-4.3.1.RELEASE.jar
spring-core-4.3.1.RELEASE.jar
spring-expression-4.3.1.RELEASE.jar
spring-web-4.3.1.RELEASE.jar
spring-webmvc-4.3.1.RELEASE.jar

(2)
配置 web xml – DispatcherServlet

  <servlet>    <servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>      <servlet-name>springmvc</servlet-name>      <url-pattern>*.do</url-pattern>  </servlet-mapping>

(3)
添加springmvc 的配置文件 默认的位置在 web-inf下面去添加
添加 名字为 [servlet-name]-servlet.xml 的文件 否则spring 无法找到这个文件
这里写图片描述

这个配置文件的头文件 在 api当中可以找到

<!-- 配置 hanldermapping  -->    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>    <!-- 配置 视图解析器  -->   <bean id="viewResolver"        class="org.springframework.web.servlet.view.UrlBasedViewResolver">    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>    <property name="prefix" value="/"/>      <property name="suffix" value=".jsp"/>   </bean></beans>

(4)
编写 java 类 实现 controller 借口

public class HelloWorld implements Controller{    public ModelAndView handleRequest(HttpServletRequest request,            HttpServletResponse response) throws Exception {        ModelAndView mav = new ModelAndView();        //封装要显示到视图中的数据        mav.addObject("liu", "Hello World");        mav.setViewName("index");//这个目录要根据视图解析器的位置去判断       //因为我设置的视图解析器前缀是根目录 所以 我这样配置 就会在根目录下        //找到index.jsp 进行渲染        return mav;     }}

相应的 在index.jsp内容中 加入
${liu} 的内容

(5)
刚刚已经配置了 DispatcherServlet 下来就是 配置 HandlerMapping –> 视图图渲染器 –> 配置请求处理器

完整的配置文件内容如下:

<?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:p="http://www.springframework.org/schema/p"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="        http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置 hanldermapping  -->    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>    <!-- 配置 视图解析器  -->   <bean id="viewResolver"        class="org.springframework.web.servlet.view.UrlBasedViewResolver">    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>    <property name="prefix" value="/"/>    <property name="suffix" value=".jsp"/>   </bean>   <!-- 因为我在 配置url partten 的时候写了 *.do 所以 最后 配置helleord.do -->   <bean name="/helloworld.do" class="com.liu.conroller.HelloWorld"></bean></beans>

(6)测试以及结果
这里写图片描述

0 0