SSH項目中:css
jsp頁面通常都是存放在WEB-INF下面的目錄下,這樣咱們就不能直接訪問到這些jsp頁面了,保證了頁面的安全性。html
在struts的管理中,是利用action來實現頁面的跳轉,進入index.jsp即頁面的首頁,咱們採用的方法是:web
(1)在WEB-INF的這樣目錄下面創建一個index.jsp頁面,頁面中加入一句話,用來中轉到項目中的首頁:spring
<jsp:forward page="項目中的jsp頁面的路徑">,好比:WEB-INF/jsp/index.jsp數據庫
(2)在web.xml中有個文件是:瀏覽器
<welcome-file> index.jsp</welcome-file>安全
有了這句話,就能夠在瀏覽器的地址欄進入到這個文件。mvc
http://localhost:8080/index.jspapp
進入到首頁。jsp
struts是採用的過濾器的方式,因此在web.xml的<url-pattern></url-patter>中可使用/*的方式來訪問路徑。也能夠採用.do或者.action的方式。
可是SpringMVC就不能使用/*的方式來訪問。
SSM項目中進入首頁的方法:
方法一:在web.xml中使用.action或者.do或者.html的方式來訪問網頁的時候。
此時通常將js,css,images這些靜態資源放在WEB_ROOT下面,若是放在web-inf下面是訪問不到的。
當採用上面方式的訪問的時候,靜態資源SpringMVC會自動解析這些靜態資源。
若是想在地址欄中想直接輸入:http://localhost:8080這種方式直接進入首頁的話,有兩種方法:
舉個,do的形式。
(1)
第一步:修改WEB.XML中的<welcome_list>index.do</welcome_list>
第二步: @RequestMapping(「/index」)採用此方式返回邏輯視圖index
這種方式能夠直接輸入地址訪問。
(2)第二種方式就是在web_root下面建立一個index.jsp頁面,而後使用,跳轉的方式跳到項目自己的index.jsp中。
.html或者.action使用方法同理。
後期補充:當用戶訪問一個系統的時候,咱們每每須要進行用戶的攔截驗證操做,即用戶登陸權限的控制。這個時候咱們須要使用到攔截器。
用戶請求到DispatherServlet中,DispatherServlet調用HandlerMapping查找Handler,HandlerMapping返回一個攔截的鏈兒(多個攔截),springmvc中的攔截器是經過HandlerMapping發起的。
因此這個時候設置進入首頁的方式也能夠是:在web_root下面建立一個index.jsp頁面:
在loginController層寫一個跳轉的頁面:
這裏的first是首頁的邏輯視圖名。在web-inf/jsp/first.jsp
可是若是設置了攔截,由於咱們這裏設置的是.action的形式,因此得這樣設置訪問。
不然url沒法攔截,由於咱們在數據庫中url都是.action的形式。
在企業開發,使用攔截器實現用戶認證(用戶登錄後進行身份校驗攔截),用戶權限攔截。
當在SSM項目中,web.xml中使用/的方式訪問網頁的時候,此時,靜態資源不管放在web-root下面仍是web-inf下面,都須要配置資源映射。
進入首頁此時比較簡單:下面方法便可
咱們須要寫一個controller來控制頁面的跳轉:
@Controller
public class PageController {
//打開首頁
@RequestMapping("/")
public String pageIndex(){
return "index";
}
}
(2)springMVC的配置文件中的配置
<!-- 利用這個來進行配置註解映射器和註解適配器 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 配置jsp試圖解析器,配置試圖解析器的前綴和後綴,程序中不用指定前綴和後綴 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
(3)這裏配置訪問文件的前綴和後綴,好比這裏的返回值是index,加上前綴和後綴,訪問路徑是「/」即 根路徑,這樣就能夠訪問到index.jsp了。
這個src的路徑就是根路徑,訪問這裏面的文件就是在瀏覽器輸入:
http://localhost 8080 而後下面訪問的文件名稱。這裏的index咱們在springMVC中都配置了,因此直接輸入http://localhost 8080
就能夠訪問到。
總結:
在SSM項目中:
因此使用.do,.action,.html的時候,在@RequestMapping中必須使用/+index進入首頁。此時不能忘記在web.xml的<welcome_file>中添加index.action或者index.do的訪問
當使用/的時候,可使用/進入首頁。可是此時不能忘記進行靜態資源的映射。
另外.html的方式是僞靜態化頁面,便於seo進行搜索,由於搜索引擎是比較喜歡html靜態頁面的,利用僞靜態化能夠便於搜索引擎收錄。
僞靜態化直接在web.xml的訪問頁面訪問直接設置*.html的訪問方式便可,用法跟*.do或者*.action的方式同樣。