1. 程式人生 > >springMVC返回jsp和html的配置,已經springmvc返回html亂碼的解決方案

springMVC返回jsp和html的配置,已經springmvc返回html亂碼的解決方案

初期的框架搭建是用jsp返回,搭建後期打算用beetl模版引擎,就換回來html。整了一回兒記錄一下:

jsp:

spring-mvc.xml:

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 這裡的配置我的理解是自動給後面action的方法return的字串加上字首和字尾,變成一個 可用的url地址 -->
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />

web.xml:

<!-- Spring MVC servlet -->
	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:/spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

改成html為返回檢視後:

修改如下:

spring-mvc.xml:

    <!-- 修改為html返回檢視,同時在web.xml配置 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix" value="/WEB-INF/html/" />
        <property name="suffix" value=".html" />
    </bean>

只配置了這個會導致404無法找到。所以還需要在web.xml新增如下配置:

    <!-- 對於非controller的請求處理 -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

如果是整合beetl的話,修改spring-mvc.xml的配置為

<bean id="beetlConfig" class="org.beetl.ext.spring.BeetlGroupUtilConfiguration" init-method="init"></bean>
	<bean class="org.beetl.ext.spring.BeetlSpringViewResolver" >
		<property name="prefix" value="/WEB-INF/html/" />
		<property name="suffix" value=".html" />
	</bean>

新增maven依賴

<!-- beetl模板引擎 -->
		<dependency>
			<groupId>org.beetl</groupId>
			<artifactId>beetl-core</artifactId>
			<version>2.2.3</version>
		</dependency>


之後就可以使用beetl





更換後初期導致返回中文亂碼。web.xml是配置了CharacterEncodingFilter的。html檔案也是utf-8,也添加了meta標籤。

最後發現時瀏覽器的右鍵,編碼格式是gbk導致的。

勾上自動檢測,或者改為utf-8就行了