正确返回一个HTML页面;
1、修改spring-mvc.xml
<mvc:annotation-driven />
<mvc:resources location="/build/" mapping="/build/**"/>
<mvc:resources location="/vendors/" mapping="/vendors/**"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/html/" p:suffix=".html" />
2、修改web.xml
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
3、controller书写方法
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String toAddTest() {
return "loginhtml";
}
4、html中引用css和js文件
<!-- Bootstrap -->
<link href="./vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link href="./vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<!-- NProgress -->
<link href="./vendors/nprogress/nprogress.css" rel="stylesheet">
<!-- Animate.css -->
<link href="./vendors/animate.css/animate.min.css" rel="stylesheet">
<!-- Custom Theme Style -->
<link href="./build/css/custom.min.css" rel="stylesheet">
5、目录结构
总测试:
webapp下的html可以访问,build,images,js文件夹下的所有文件都可以访问,当然包括这些文件夹下的HTML页面。
注意:去掉下面代码,根目录HTML仍然可以访问(但是CSS,JS不起作用),jsp不可以访问(当然去掉前也不可以访问)WEB-INF文件夹下的HTML同样出现问题。
<mvc:resources location="/build/" mapping="/build/**"/>
<mvc:resources location="/vendors/" mapping="/vendors/**"/>
注意:返回的HTML页面中的中文会出现乱码在页面顶部添加如下代码可以解决
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
手贱尝试(其他方式引入CSS,JS文件):
页面上方添加下面代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
在head标签里的最上方(类似下面这种方式)添加:
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
当然css文件夹是放在webapp下面。测试证明springmvc中这种方式并没有什么卵用,不过servlet中这还是一种不错的引入css文件的方式。