springMVC返回jsp和html的配置,已經springmvc返回html亂碼的解決方案
阿新 • • 發佈:2019-02-03
初期的框架搭建是用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就行了