1. 程式人生 > >淘淘商城第十六課(展示後臺管理頁面)

淘淘商城第十六課(展示後臺管理頁面)

前面做了那麼多鋪墊,現在我們開始著手處理後臺管理系統。

        首先,大家需要下載淘淘商城的靜態資原始檔,大家可以到: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. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  6. xmlns:mvc="http://www.springframework.org/schema/mvc"
  7. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
  8. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
  9. http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  10. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
  11. <!-- 配置註解驅動 -->
  12. <mvc:annotation-driven />
  13. <!-- 檢視解析器 -->
  14. <bean
  15. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  16. <property name="prefix" value="/WEB-INF/jsp/" />
  17. <property name="suffix" value=".jsp" />
  18. </bean>
  19. <!-- 配置包掃描器,掃描@Controller註解的類 -->
  20. <context:component-scan base-package="com.taotao.controller"/>
  21. <!-- 配置資源對映 -->
  22. <mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
  23. <mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
  24. <!-- 引用dubbo服務 -->
  25. <dubbo:application name="taotao-manager-web"/>
  26. <dubbo:registry protocol="zookeeper" address="192.168.156.40:2181"/>
  27. <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" />
  28. </beans>
        配置完資源對映,我們再重新啟動taotao-manager-web工程。然後再訪問http://localhost:8081/,可以看到如下圖所示介面,我們點選"新增商品"發現控制檯會報錯,提示找不到item-add頁面。


      既然是index.jsp頁面訪問別的頁面的時候報的錯,我們便看看index.jsp的請求頁面及我們的靜態頁面的關係,如下圖所示。發現index.jsp訪問的頁面就是我們的靜態頁面,名字一樣。因此我們現在需要做的就是在Controller中通過攔截器把訪問路徑中的item-add這個串得到然後經過自動補充字尾.jsp從而返回一個同名的item-add.jsp回去,這樣就可以訪問了,其它頁面的訪問情況一樣。

       我們在PageController類中新增如下程式碼。

        下面我們重新啟動taotao-manager-web工程,如下圖所示,我們可以正常訪問到新增商品介面了。我們再點選下其它頁面,發現都可以正常訪問了。