Spring MVC 入門程式
一個展示商品列表的小頁面
環境搭建
intellij IDEA 15.0.2
- A方法(有待商榷)
new->project->maven->勾選create from archetype->選中webapp
在src/main
下新建java
資料夾,標記為Sources Root
這樣建出來的工程感覺有問題,點開一些xml檔案一片紅,心裡不是很踏實,所以放棄這個方法了
- B方法
new->project->maven
,建一個裸的maven工程,手動建webapp的目錄
在src/main
下新建資料夾webapp
pom.xml檔案
新增依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
加上下面的標籤會生成Artifacts
<packaging>war</packaging>
build標籤的finalName要和Artifacts的output directory一致
<build>
<finalName>springmvc-2nd-1.0-SNAPSHOT</finalName>
</build>
配置檔案
- 配置前端控制器
web.xml
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation配置springmvc載入的配置檔案(配置處理器對映器、介面卡等等)
若不配置,預設載入WEB-INF/servlet名稱-servlet(springmvc-servlet.xml)
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--
第一種:*.action,訪問以.action結尾,由DispatcherServlet進行解析
第二種:/,所有訪問的地址由DispatcherServlet進行解析,對靜態檔案的解析需要配置不讓DispatcherServlet進行解析,
使用此種方式和實現RESTful風格的url
第三種:/*,這樣配置不對,使用這種配置,最終要轉發到一個jsp頁面時,仍然會由DispatcherServlet解析jsp地址,
不能根據jsp頁面找到handler,會報錯
-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
- 配置Handler
將編寫Handler在spring容器載入
<!-- 配置Handler -->
<bean name="/queryItems.action" class="com.iot.ssm.controller.ItemsController"/>
- 配置處理器對映器
在classpath下的springmvc.xml中配置處理器對映器
<!-- 處理器對映器
將bean的name作為url進行查詢,需要在配置Handler時指定beanname(就是url)
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
- 配置處理器介面卡
所有處理器介面卡都實現了HandlerAdapter
介面
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
原始碼
public boolean supports(Object handler) {
return handler instanceof Controller;
}
此介面卡能執行實現Controller
介面的Handler
- 配置檢視解析器
需要配置解析jsp的檢視解析器
<!-- 檢視解析器
解析jsp,預設使用jstl,classpath下要有jstl的包
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
在springmvc.xml中檢視解析器配置字首和字尾:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置jsp路徑的字首 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路徑的字尾 -->
<property name="suffix" value=".jsp"/>
</bean>
程式中不用指定字首和字尾:
//指定檢視
//下邊的路徑,如果在檢視解析器中配置jsp的路徑字首和字尾,修改為items/itemsList
//modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
//下邊的路徑配置就可以不在程式中指定jsp路徑的字首和字尾
modelAndView.setViewName("items/itemsList");
部署除錯
HTTP Status 404 -
處理器對映器根據url找不到Handler,說明url錯誤
HTTP Status 404 -/springmvc/WEB-INF/jsp/items/itemsLists.jsp
處理器對映器根據url找到了Handler,轉發的jsp頁面找不到
相關文章
- spring mvc 快速入門SpringMVC
- Spring MVC 入門指南(十三):獲取Cookie值SpringMVCCookie
- IDEA下——Spring入門程式IdeaSpring
- Spring入門學習手冊 6:Spring MVC基礎中的基礎SpringMVC
- Spring入門學習手冊 5:Spring MVC的一個Hello world!例子SpringMVC
- 3. Spring 的入門程式Spring
- java spring mvc jsp excel 匯入JavaSpringMVCJSExcel
- spring-boot入門程式詳解Springboot
- Spring 入門Spring
- spring - mvcSpringMVC
- spring、spring MVC、spring BootMVCSpring Boot
- spring入門(二)Spring
- 1、Spring入門Spring
- Spring入門指南Spring
- spring 快速入門Spring
- Spring Boot入門Spring Boot
- spring mvc interceptorsSpringMVC
- spring - mvc - @ScheduledSpringMVC
- spring - mvc - @ValidSpringMVC
- .NET程式設計師如何快入門Spring Boot程式設計師Spring Boot
- Spring Security 快速入門Spring
- Spring Security(一)入門Spring
- Spring Cloud Gateway 入門SpringCloudGateway
- Spring Boot HttpExchange 入門Spring BootHTTP
- #Spring JdbcTemplate入門@FDDLCSpringJDBC
- Spring Boot Dubbo 入門Spring Boot
- 入門Spring6Spring
- spring boot快速入門Spring Boot
- Spring Security 入門篇Spring
- spring入門學習Spring
- Spring Boot + Mybatis + Spring MVC環境配置(四):MVC框架搭建Spring BootMyBatisMVC框架
- iOS架構入門 - MVC模式例項演示iOS架構MVC模式
- Spring MVC 中使用 RESTFul 程式設計風格SpringMVCREST程式設計
- Spring入門(一):建立Spring專案Spring
- Spring Cloud Gateway入門 - spring.ioSpringCloudGateway
- Spring MVC學習SpringMVC
- Spring5 MVCSpringMVC
- Spring MVC基礎SpringMVC