1. SpringMVC简介
-
Spring为展现层提供的基于MVC设计理念的优秀的WEB框架,是目前最主流的MVC框架之一
-
Spring3.0后全面超越Struts2,成为最优秀的MVC框架
-
SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口。
-
支持REST风格的URL请求
-
采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性
2.Hello Word示例
SpringMVC是基于WEB的框架,故需要创建web工程:
- 创建一个动态的web工程
- 导入jar包 spring的jar包、common-login的jar包
- 在web.xml文件中配置DispatcherServlet
<!-- The front controller of this Spring Web application, responsible for
handling all application requests -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置DispatcherServlet的一个初始化参数:配置SpringMVC配置文件的位置和名称 -->
<!-- 实际上也可以通过contextConfigLocation 来配置SpringMVC配置文件的位置和名称 默认配置文件为:/WEB-INF/<servlet-name>-servlet.xml -->
<!-- <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param> -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- 配置spring基本注解,创建处理函数Handler,此处为helloword,并在类前加入Spring依赖注入注解:@Controller
- 创建指定位置的bean配置文件,具体内容如下:
<context:component-scan base-package="com.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>
- 注解设置请求处理:@RequestMapping(“/helloword”)使用RequestMapping注解來映射請求的URL
@RequestMapping("/springmvc")
@Controller
public class Helloword {
private static final String SUCCESS = "success";//可以新建Success.jsp界面(界面路径与配置的InternalResourceViewResolver中的prefix属性一致),以达成页面跳转显式表现出@RequestMapping的映射效果
@RequestMapping("/helloword")
public String hello() {
System.out.println("hello word");
return SUCCESS;
}
}