一、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地址