• Spring MVC--第一个程序


    项目:primary

           完成功能:用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在响应页面中显示该信息。

    (1)导入jar包

    在创建好web项目后,首先导入jar包。SpringMVC需要的基本jar包,是在原Spring的jar包的基础上增加了两个jar包:

    --Spring-context-support:包含支持UI模板,邮件服务,缓存cache等方面的类。

    --Spring-webmvc:对SpringMVC的实现。

    /01-primary/WebContent/WEB-INF/xingxing-servlet.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:p="http://www.springframework.org/schema/p"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xmlns:mvc="http://www.springframework.org/schema/mvc"
     7     xsi:schemaLocation="
     8         http://www.springframework.org/schema/beans
     9         http://www.springframework.org/schema/beans/spring-beans.xsd
    10         http://www.springframework.org/schema/mvc
    11         http://www.springframework.org/schema/mvc/spring-mvc.xsd
    12         http://www.springframework.org/schema/context
    13         http://www.springframework.org/schema/context/spring-context.xsd">
    14 
    15   <!-- 注册处理器 -->
    16   <!-- id值的意义:限制springmvc处理的请求为*.do -->
    17   <bean id="/my.do" class="com.hk.controller.MyController"></bean>
    18 
    19 </beans>

    注意:此配置文件的名字并不能任意取,得和web.xml中的<servlert-name>中所起的名字匹配才行。

    (2)配置中央调度器

    web.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     3          xmlns="http://java.sun.com/xml/ns/javaee" 
     4          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     5          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
     6   
     7   <!-- 注册中央调度器 -->
     8   <servlet>
     9     <servlet-name>xingxing</servlet-name>
    10     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    11   </servlet>
    12   <servlet-mapping>
    13     <servlet-name>xingxing</servlet-name>
    14     <url-pattern>*.do</url-pattern>
    15   </servlet-mapping>
    16   <welcome-file-list>
    17     <welcome-file>index.jsp</welcome-file>
    18   </welcome-file-list>
    19 </web-app>

    /01-primary/WebContent/WEB-INF/jsp:

     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
     4 <html>
     5 <head>
     6 <title>welcome</title>
     7 </head>
     8 <body>
     9   ${message} 
    10 </body>
    11 </html>

    运行一下:

    此时,项目结构如图:

     (3)指定SpringMVC配置文件的位置及文件名

    通过web.xml中<servlet-class>标签中的org.springframework.web.servlet.DispatcherServlet找到其源码DispatcherServlet,其中没有关于这方面的代码,然后DispatcherServlet继承自FrameworkServlet,于是找FrameworkServlet的源码,通过查找可以找到:

    所以,可以在web.xml中这样编写:

    重启tomcat,运行一下,结果如下:

    即表明:更改没有问题。

    所以:<init-param>指定springmvc配置文件及文件名。

    (4)load-on-startup

    (5)使用视图解析器

    /01-primary/src/springmvc.xml中添加以下代码:

    1   <!--注册视图解析器-->
    2   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    3       <!-- 前缀 -->
    4       <property name="prefix" value="/WEB-INF/jsp/"></property>
    5       <!-- 后缀 -->
    6       <property name="suffix" value=".jsp"></property>
    7   </bean>

    注意:<bean>中没有id。

    对比:

    当有大量相同资源时,可以这样写,减轻冗余。

    最后,项目结构如图:

    (6)开发流程

    先注册中央调度器--》定义处理器(Controller.java,让它实现Controller接口)--》写springmvc.xml,在其中编写"注册处理器"代码。

    (7)执行流程分析

    在/01-primary/WebContent/WEB-INF/jsp/welcome.jsp中加入${requestScope.message},如图:

    运行结果:

    说明:

    //其底层执行的是request.setAttribute();
    mv.addObject("message", "hello Spring MVC world!");

    每接触一个新领域,我就像一块掉进水里的海绵,四面八方的养分都让我不断充实。O(∩_∩)O~
  • 相关阅读:
    js 复杂研究
    js 页面 保持状态 的方法
    C# 向上取整数
    js 获取dom 为null 测试
    net core 下 接受文件 测试
    layui 源码解读(部分)
    js 定时器
    js addEventListener
    C# 获得对象的命名空间 ?.
    修改maven的默认jdk版本
  • 原文地址:https://www.cnblogs.com/zhzcode/p/9609373.html
Copyright © 2020-2023  润新知