SpringMVC教程来喽!
目录
- SpringMVC简介
- SpringMVC的搭建
SpringMVC简介
这里对SpringMVC进行一个简单介绍
- springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。
- springmvc是一个基于mvc的web框架。
- springmvc 表现层:方便前后端数据的传输
- Spring MVC 拥有控制器,作用跟Struts类似,接收外部请求,解析参数传给服务层
视图(View)-对应组件:JSP或者HTML文件
控制器(Controller)-对应组件:Servlet
模型(Model)-对应组件:JavaBean
Servlet:接受前端请求并调用JavaBean
JavaBean:处理业务并操作数据库
JSP:将处理结果响应到浏览器呈现给用户
视图、控制器、模型间的关系:
MVC处理过程:
MVC优点
- MVC三个模块相互独立,松耦合架构
- 多视图共享一个模型,大大提高代码的可重用性
- 控制器提高了应用程序的灵活性和可配置性
- 有利于软件工程化管理
MVC缺点
- 增加了系统结构和实现的复杂性,不适合小型规模的项目
- 视图层与模型之间需要控制器做中间的连接控制,所以效率较低
SpringMVC的搭建
1、下载并导入相关依赖jar包
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency>
2、在web.xml文件中配置springMVC的前端控制器
<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:springMvc.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>
3、在resources中创建spring的配置文件
4、在SpringMVC中添加扫描组件
<context:component-scan base-package="com.controllrer"></context:component-scan>
5.创建一个controller类
@Controller
@RequestMapping("/hello")
public class HelloController {@RequestMapping("/hello01")public String hello01(){System.out.println("hello01");return "hello01.jsp";}
}
SpringMVC就可以使用了
扩展一下如何使用重定向跳转
在方法的返回字符串的内容时加上redirect:
@RequestMapping("list5")public String list5(){System.out.println("!!!!!!!!!!!!!!!!!");return "redirect:list.jsp"; //当springmvc看到你返回的字符串钟含有redirect:时 它认为你要进行重定向跳转}
如何把controller数据返回到网页并回显。
@RequestMapping("/list3")public String list3(HttpSession session){Student student=new Student(3,"tom","120@qq.com",new Date());session.setAttribute("user",student);return "list.jsp"; //转发}
接受的参数含有日期类型
在时间类型的属性上添加一个注解:@DateTimeFormat(pattern = “yyyy-MM-dd”)
@DateTimeFormat(pattern = "yyyy-MM-dd")//String转date视图层转控制层