spring mvc 返回HTML页面的一系列问题

正确返回一个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>springservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>
    <servlet-mapping>
        <servlet-name>jspservlet-name>
        <url-pattern>*.htmlurl-pattern>
    servlet-mapping>

3、controller书写方法

@RequestMapping(value = "/add", method = RequestMethod.GET)
    public String toAddTest() {
        return "loginhtml";
    }

4、html中引用css和js文件

  
    <link href="./vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    
    <link href="./vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">
    
    <link href="./vendors/nprogress/nprogress.css" rel="stylesheet">
    
    <link href="./vendors/animate.css/animate.min.css" rel="stylesheet">
    
    <link href="./build/css/custom.min.css" rel="stylesheet">

5、目录结构
spring mvc 返回HTML页面的一系列问题_第1张图片
总测试:
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 pagetitle>
    <link rel="stylesheet" type="text/css" href="css/style.css">

head>

当然css文件夹是放在webapp下面。测试证明springmvc中这种方式并没有什么卵用,不过servlet中这还是一种不错的引入css文件的方式。

你可能感兴趣的:(spring-mvc,html)