SpringMVC層編寫
web.xml
-
DispatcherServlet
<!--DispatcherServlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
-
亂碼問題
<!--亂碼過濾--> <filter> <filter-name>encodingFilter</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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
-
Session
<!--Session--> <session-config> <session-timeout>15</session-timeout> </session-config>
spring-mvc.xml
-
註解驅動
<!--1. 註解驅動--> <mvc:annotation-driven/>
-
靜態資源過濾
<!--2. 靜態資源過濾--> <mvc:default-servlet-handler/>
-
掃描包
<!--3. 掃描包:controller--> <context:component-scan base-package="com.kuang.controller"/>
-
檢視解析器
<!--4. 檢視解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>
Spring配置整合檔案
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<import resource="classpath:spring-dao.xml"/>
<import resource="classpath:spring-service.xml"/>
<import resource="classpath:spring-mvc.xml"/>
</beans>
排錯思路
問題1:bean不存在
步驟:
-
檢視這個bean注入是否成功
-
junit單元測試,觀察程式碼是否可以查詢出結果
-
前兩步都沒問題的話,問題不在我們的底層,是spring出了問題
-
springMVC整合的時候沒有呼叫到service層的bean:
-
applicationContext.xml沒有注入bean
-
web.xml中,我們也繫結過配置檔案!發現問題,我們配置的是spring-mvc.xml,這裡確實沒有service bean,所以報空指標。
-
問題2:http://localhost:8080/book/allBook 404
原因:applicationContext.xml沒有import spring-mvc.xml