springmvc 配置預設路徑 以及 Jsp include跳轉controller 以及 url get訪問中文亂碼

來源:互聯網
上載者:User

一、springmvc 配置預設路徑

1.預設tomcat容器的預設頁面。 
/index.html 
這種方式適合訪問靜態頁面(也包括JSP)或者說是沒有任何參數的頁面。

或者配置web.xml中的welcome-file-list

<welcome-file-list><welcome-file>index.html</welcome-file>                <welcome-file>index.jsp</welcome-file></welcome-file-list>


2.配置web.xml

<servlet><servlet-name>vanclshare</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:vanclshare-servlet.xml</param-value></init-param><!-- 啟動容器時初始化Servlet --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>vanclshare</servlet-name><!-- 定義哪些請求交給springmvc處理,“*.html”表示預設由servlet映射,表示所有的映射都會被攔截 --><url-pattern>*.html</url-pattern></servlet-mapping><!-- 攔截請求 --><servlet-mapping><servlet-name>vanclshare</servlet-name><url-pattern>/index</url-pattern></servlet-mapping><!-- 預設歡迎頁面 --><welcome-file-list><welcome-file>index</welcome-file></welcome-file-list>
controller中需要配置index 的requestMapping

@Controllerpublic class IndexController {@RequestMapping("/index")public ModelAndView Index(){ModelAndView modelAndView = new ModelAndView("/index");return modelAndView;}@RequestMapping("/index1")public ModelAndView Index1(){ModelAndView modelAndView = new ModelAndView("/index1");return modelAndView;}}


直接存取 http://localhost:8080/VanclShare   即可訪問映射為index 的controller。

二、include跳轉controller
在index.jsp中添加:

<body>這是我的index<jsp:include page="/index1.html"></jsp:include></body>
根據web.xml中映射攔截器,會攔截*.html配置的所有請求。那麼會跳轉到@RequestMapping("/index1") 的請求中,返回名為index1的視圖

index1.jsp內如如下:

<body> 這是index1</body>
直接存取  http://localhost:8080/VanclShare 得到如下結果:


三、url get訪問中文亂碼

為了防止中文視圖亂碼,請求亂碼等,一般我們需要配置三個地方。

這裡我們統一配置為UTF-8的模式

1、jsp配置編碼方式,在jsp頭部配置如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> 這是index1</body></html>
2、web.xml配置字元集過濾filter

配置如下:

<!-- 配置字元集 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
3、配置web伺服器的字元集。這裡以tomcat為例

找到conf下的server.xml檔案,添加字元集URIEncoding=“UTF-8”

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

四、佈建網域名訪問

第一是  <Engine defaultHost="localhost" name="Catalina">  把defaultHost的值修改成你的網域名稱    

<Engine defaultHost="www.test.com" name="Catalina">

第二是   <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">

 把name的值修改成你的網域名稱  

<Host appBase="webapps" autoDeploy="true" name="www.test.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> www.test.com : 為申請好的網域名稱或者可供訪問的ip地址


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.