淘淘商城第十六課(展示後臺管理頁面)
前面做了那麼多鋪墊,現在我們開始著手處理後臺管理系統。
首先,大家需要下載淘淘商城的靜態資原始檔,大家可以到:https://download.csdn.net/download/anaitudou/10505519這個地址進行下載,下載後解壓,解壓後可以看到有css、js、jsp三個資料夾。我們把這三個資料夾分別放到taotao-manager-web工程的src/main/webapp下及src/main/webapp/WEB-INF下,如下圖所示。
為什麼我們把jsp放到WEB-INF下面呢?這是因為我們在taotao-mamager-web工程的springmvc.xml檔案中配置了關於jsp的檢視解析器,把jsp放到了WEB-INF下,所以為了保持一致,我們把jsp放到了WEB-INF下。當然,也可以修改檢視解析器配置,只要兩者路徑一致即可。
為了訪問index.jsp頁面,我們需要寫一個Controller類,通過訪問Controller來間接訪問index.jsp。我們定義的Controller類是PageController。如下圖所示。
我們重新啟動taotao-manager-web工程,啟動後,我們訪問http://localhost:8081/會看到如下圖所示資訊,這明顯不是我們的後臺頁面。為什麼會出現這種情況呢?這是因為在src/main/webapp下本來就有個index.jsp,因此首先去訪問它了,這樣就不能訪問位於src/main/webapp/WEB-INF下面的index.jsp了。
為了解決上面的那個問題,我們需要把位於src/main/webapp下的index.jsp刪掉(下圖藍色圈住的index.jsp檔案需要刪掉)。
刪除掉src/main/webapp下的index.jsp之後我們再訪問http://localhost:8081/,我們會看到如下圖所示頁面,很明顯,css樣式沒有出來,出現這種情況的原因是資源被攔截了,我們需要配置一下資源對映。
我們開啟springmvc.xml檔案,在其中新增資源配置對映,如下圖所示。
方便大家複製,現把整個springmvc.mxl檔案貼上如下:
- "1.0" encoding="UTF-8" xml version=
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
- http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
- <!-- 配置註解驅動 -->
- <mvc:annotation-driven />
- <!-- 檢視解析器 -->
- <bean
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/jsp/" />
- <property name="suffix" value=".jsp" />
- </bean>
- <!-- 配置包掃描器,掃描@Controller註解的類 -->
- <context:component-scan base-package="com.taotao.controller"/>
- <!-- 配置資源對映 -->
- <mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
- <mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
- <!-- 引用dubbo服務 -->
- <dubbo:application name="taotao-manager-web"/>
- <dubbo:registry protocol="zookeeper" address="192.168.156.40:2181"/>
- <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" />
- </beans>
既然是index.jsp頁面訪問別的頁面的時候報的錯,我們便看看index.jsp的請求頁面及我們的靜態頁面的關係,如下圖所示。發現index.jsp訪問的頁面就是我們的靜態頁面,名字一樣。因此我們現在需要做的就是在Controller中通過攔截器把訪問路徑中的item-add這個串得到然後經過自動補充字尾.jsp從而返回一個同名的item-add.jsp回去,這樣就可以訪問了,其它頁面的訪問情況一樣。
我們在PageController類中新增如下程式碼。
下面我們重新啟動taotao-manager-web工程,如下圖所示,我們可以正常訪問到新增商品介面了。我們再點選下其它頁面,發現都可以正常訪問了。