MVC框架要做哪些事情:
将URL映射到java类或java类的方法
封装用户提交的数据
处理请求-调用相关的业务处理-封装响应的数据
将响应数据的数据进行渲染,jsp,html,freemarker等。
2:springMVC是一个轻量级的,基于请求响应的MVC框架。
3:为什么要学习spring MVC?
性能较struts2好
简单,便捷,易学
天生和spring无缝集成(使用springIOC,AOP)
使用约定优于配置
能够进行简单junit测试
支持Restfull风格
异常处理
本地化,国际化
数据验证,类型转换等
拦截器等
4:简单了解结构
5:hellospringMVC的案例
-
导入相关包
配置web.xml文件,配置分发器
<!-- 配置DispatchcerServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置Spring mvc下的配置文件的位置和名称 -->
<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>
c):添加springMVC的配置文件,默认在WEB-INF下添加[DispatcherServlet Name]-servlet.xml文件,我这指定了src目录下的springmvc.xml
<!-- 配置自动扫描的包 -->
<context:component-scan base-package="nttdata.com.cn.hello"></context:component-scan>
<!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value="/WEB-INF/jsp/"></property>
<property name = "suffix" value = ".jsp"></property>
</bean>
d):编写HelloWorld.java
package nttdata.com.cn.hello;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorld {
/**
* 1. 使用RequestMapping注解来映射请求的URL
* 2. 返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析
* 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作
* "/WEB-INF/views/success.jsp"
* @return
*/
@RequestMapping("/helloworld")
public String hello(){
System.out.println("hello world");
return "success";
}
}
e):页面请求http://localhost:8080/SpringMVC01/helloworld