目录
为了方便后面学习,都是基于《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文件
1.1 web.xml配置文件
只需要把
<url-pattern>*.form</url-pattern>
改为:
<url-pattern>/</url-pattern>
1.2 dispatcher-servlet.xml配置
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配置文件不变,不需要做任何修改
1.2.1 统一模板目录和文件后缀
因为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>
二、新功能统一以链接方式添加到主页index.jsp中
主页统一为:/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>