项目: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:

 <?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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 注册处理器 -->
<!-- id值的意义:限制springmvc处理的请求为*.do -->
<bean id="/my.do" class="com.hk.controller.MyController"></bean> </beans>

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

(2)配置中央调度器

web.xml:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- 注册中央调度器 -->
<servlet>
<servlet-name>xingxing</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xingxing</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

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

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<title>welcome</title>
</head>
<body>
${message}
</body>
</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中添加以下代码:

   <!--注册视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</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!");

最新文章

  1. 问题:无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)
  2. Linux下硬盘安装Windows系统。
  3. 设置windows网络连接别名和linux网络连接别名
  4. C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
  5. Linux下安装配置Node及memcached
  6. 代理服务器基本知识普及代理IP使用方法!
  7. [RxJS] Transformation operators: debounce and debounceTime
  8. jquery中的on事件
  9. POJ 3692:Kindergarten(最大的使命)
  10. EasyUI实现异步载入tree(整合Struts2)
  11. UML之构件图
  12. Mariadb主从复制
  13. Asp.Net Core 输出 Word
  14. Tomcat增加Context配置不带项目名访问导致启动的时候项目加载两次
  15. 实例化和设置一个优秀的php对象
  16. 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)
  17. Elasticsearch基本用法(2)--Spring Data Elasticsearch
  18. Objective-C编程 - 1. 浅谈内存分配
  19. eclipse 使用总结
  20. c语言for循环等语句详解

热门文章

  1. 炫酷的 CSS 形状(值得收藏)
  2. css实现左边div固定宽度,右边div自适应撑满剩下的宽度
  3. 07-11 Linux命令操作
  4. 洛谷P3698 [CQOI2017]小Q的棋盘
  5. vue-router+webpack线上部署时单页项目路由,刷新页面出现404问题
  6. Java多线程(六)守护进程
  7. Python(2)-第二天
  8. (三)Mybatis总结之动态sql
  9. Android开发笔记(1)——View
  10. Hive扩展功能(二)--HWI接口