http://blog.csdn.net/yerenyuan_pku/article/details/72773063
我們前面做了那么多准備不是白做的,大家如果堅持到現在,真的值得給自己一個擁抱!現在我們就來開始着手處理后台管理系統。
首先,大家需要整合淘淘商城的后台管理系統靜態頁面,即需要將以下css、js、jsp三個文件夾添加到taotao-manager-web工程中的WEB-INF下。
整合靜態頁面之后的效果為:
為什么我們把jsp放到WEB-INF下面呢?這是因為我們在taotao-mamager-web工程的springmvc.xml文件中配置了關於jsp的視圖解析器,把jsp放到了WEB-INF下,所以為了保持一致,我們把jsp放到了WEB-INF下。當然,也可以修改視圖解析器配置,只要兩者路徑一致即可。
由於我們在web.xml文件中定義的url攔截形式為“/”表示攔截所有的url請求,包括靜態資源例如css、js等,所以需要在springmvc.xml中添加資源映射標簽:
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>
方便大家復制,現把整個springmvc.mxl文件粘貼如下:
<?xml version="1.0" encoding="UTF-8"?> <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"> <context:component-scan base-package="com.taotao.controller" /> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 靜態資源映射 --> <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/> <!-- 引用dubbo服務 --> <dubbo:application name="taotao-manager-web"/> <dubbo:registry protocol="zookeeper" address="192.168.25.128:2181"/> <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" /> </beans>
- 1
為了訪問index.jsp頁面,我們需要寫一個Controller類,通過訪問Controller來間接訪問index.jsp。我們定義的Controller類是PageController,如下圖所示。
為了能夠正確看到我們的后台管理系統首頁——index.jsp,該jsp頁面在WEB-INF/jsp目錄下,所以我們需要把位於src/main/webapp下的index.jsp刪掉,之前我們應該有在該目錄下創建過這個jsp頁面,這里我已刪掉。
接下來,我們先啟動taotao-manager工程,然后再來啟動taotao-manager-web工程,啟動成功后,我們訪問http://localhost:8080/
,可以看到如下圖所示界面,我們點擊”新增商品”發現控制台會報錯,提示找不到item-add頁面。
既然是index.jsp頁面訪問別的頁面的時候報的錯,我們便看看index.jsp的請求頁面及我們的靜態頁面的關系,如下圖所示。發現index.jsp訪問的頁面就是我們的靜態頁面,名字一樣。因此我們現在需要做的就是在Controller類中通過攔截器把訪問路徑中的item-add這個串得到然后經過自動補充后綴.jsp從而返回一個同名的item-add.jsp回去,這樣就可以訪問了,其它頁面的訪問情況一樣。
我們在PageController類中添加如下代碼。
下面我們重新啟動taotao-manager-web工程,如下圖所示,我們可以正常訪問到新增商品界面了。我們再點擊下其它頁面,發現都可以正常訪問了。