Spring MVC - 01 HelloWorld
SpringMVC 概述
1. Spring 為展現層 提供的基於MVC 設計理念的優秀的Web框架, 是目前最主流的MVC框架之一。
2. Spring3.0 後全面超越 Struts2,成為最優秀的MVC框架
3. SpringMVC 通過一套MVC註解, 讓 POJO 成為處理請求的控制器,而無須實現任何介面。
4. 支援 REST風格的URL 請求
5. 採用了鬆散耦合可插拔元件結構,比其他MVC 框架 更具 擴充套件性和靈活性
HelloWorld
步驟:
1. 新增 jar包
spring-aop-5.0.5.RELEASE.jar spring-beans spring-context spring-core spring-expression
spring-web spring-webmvc commons-logging
2. 在web.xml 中 配置 DispatcherServlet
<!-- 配置 DispatcherServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置 DispatcherServlet 的一個初始化引數: 配置 SpringMVC 配置檔案的位置和名稱-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3. 加入 SpringMVC 的配置檔案
<!-- 配置自定義掃描的包-->
<context:component-scan base-package="com.muki.springmvc"></context:component-scan>
<!-- 配置檢視解析器: 如何把 handler 方法返回值解析為 實際的物理檢視 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
4. 編寫處理請求的處理器,並標識為處理器
@Controller
public class HelloWorld {
/**
* 1. 使用 @RequestMapping 註解來對映請求的URL
* 2. 返回值會通過檢視解析器解析為實際的物理檢視,對於 InternalResourceViewResolver 檢視解析器,會做如下的解析:
* 通過 prefix + returnVal + 字尾 這樣的方式得到實體的物理檢視,然後做轉發操作
*
* /WEB-INF/views/success.jsp
*/
@RequestMapping("/helloworld")
public String hello(){
System.out.println("hello world.");
return "success";
}
}
5. 編寫檢視
配置 index.jsp <a href="helloworld">Hello World</a> 對應於控制器 對映的 RequestMapping 地址
編寫 success.jsp 頁面 <body><h4>Success Page!</h4></body>
使用預設的 MVC 配置檔案:
可以不通過 contextConfigLocation 來配置 SpringMVC 的配置檔案,而使用預設的。
預設的配置檔案為 /WEB-INF/<servlet-name>-servlet.xml