目录
一、关于配置文件(不变)
1.1 web.xml配置文件
1.2 dispatcher-servlet.xml配置
1.2.1 统一模板目录和文件后缀
二、新功能统一以链接方式添加到主页index.jsp中
三、关于测试代码结构
为了方便后面学习,都是基于《hualinux springMVC 5.2:使用 idea建立简单springMVC》文章中建立的项目基础上的
所以做一些说明
配置文件是按《hualinux springMVC 5.2:使用 idea建立简单springMVC》配置之后一般不会修改,在这里我把之前的hello删除
删除:web\WEB-INF\view\success.jsp文件
删除:src/main/java/com.hualinux.srpingmvc.handers/Hello.java文件
只需要把
<url-pattern>*.form</url-pattern>改为:
<url-pattern>/</url-pattern>web\WEB-INF\dispatcher-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: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/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 --> <context:component-scan base-package="com.hualinux.srpingmvc"/> <!-- 让Spring MVC不处理静态资源 --> <mvc:default-servlet-handler /> <!--支持mvc注解驱动,在spring中一般采用@RequestMapping注解来完成映射关系,要想使@RequestMapping注解生效 必须向上下文中注册DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例 这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助我们自动完成上述两个实例的注入。 --> <mvc:annotation-driven /> <!-- 配置视图解析器:视图名称解析器:将视图逻辑名解析为: /WEB-INF/view/<viewName>.jsp--> <!-- 把 handler 方法返回值解析为实际的物理视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean> </beans>PS:web\WEB-INF\applicationContext.xml配置文件不变,不需要做任何修改
因为web\WEB-INF\dispatcher-servlet.xml配置以后是不会修改的,按
<!-- 配置视图解析器:视图名称解析器:将视图逻辑名解析为: /WEB-INF/view/<viewName>.jsp--> <!-- 把 handler 方法返回值解析为实际的物理视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean>知道模板目录统一放在 WEB-INF/view 下,而且模板文件名字后缀为.jsp,我这里默认用ok.jsp,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>view视图下的jsp</title> <meta charset="UTF-8"> </head> <body> <h3>ok,访问成功!</h3> </body> </html>
主页统一为:/WEB-INF/index.jsp,后面的代码实现功能在主页中里面添加链接<a>标记,方便做测试
index.jsp原始代码为:
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %> <html> <head> <title>首页</title> <meta charset="UTF-8"> </head> <body> </body> </html>测试代码统一放在src/main/java/com.hualinux.srpingmvc.handers/SpringMVCTest.java类
package com.hualinux.srpingmvc.handers; import org.springframework.stereotype.Controller; //@Controller表示要使用模板,如果用@RestController则表示直接把数据返回给浏览器 @Controller public class SpringMVCTest { }
我不就写单元测试了,因为单元测试是不能有数据返回的,如果要做单元测试可以在pom.xml添加,junit5依赖
<!-- JUnit5:单元测试需要用到 在本文可以不安装--> <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.6.2</version> <scope>test</scope> </dependency>