首先说下springmvc:和Struts2 都是一个mvc的框架 属于spring 的后续产品
springmvc和Struts2的对比:个人理解,从朋友和同事的了解 目前 使用springmvc 的用户多余struts2的用户,springboot 是基于springmvc上,从技术上来说 springmvc是基于servlet 而Struts2是基于fifter 所以开飞springmvc和Struts2的配置方式有些区别。不管是springmvc和Struts2都是基于前端控制器模式dispatchServlet ,springmvc 前端控制器是基于方法级别的(单例) Struts2前端控制器模式基于类级别 (用过Struts2的都知道是Struts2的aciton 每次请求都是一个新的aciton 线程安全的) 所有对比Struts2 springmvc单例模式 对服务器的内存 开销要比使用Struts更小。传递参数:springmvc 是通过方法传递参数,而Struts2通过类的成员变量传递参数(线程不安全) 并发的时候 可能会导致数据不安全的情况。最后就是 spring 整合 Struts2和整合springmvc的复杂程度,springmvc和spring可以实现无缝整合 而 spring整合Struts2时候需要导入整合时候需要的jar包。
简单创建一个 springmvc的demo: 创建一个名为springmvc的项目
创建一个名为:com.springmvc.controller的包
编写controller类
packagecom.springmvc.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;
@Controllerpublic classHelloSpringMvcContorller {
@RequestMapping("hello")publicString getUserName() {
System.out.println("springmvc请求");return "您好,springmvc";
}
}
此时返回的是一个String类型,此处可以返回一个视图 所以有兴趣的可以自己搞一个视图看看返回界面 添加一个ModelAndView 对象就可以
springmvc是基于servlet 所以需要在web .xml中配置 serlvet一些配置
springmvc
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
springmvc
org.springframework.web.servlet.DispatcherServlet
springmvc
*.action
新建一个springmvc.xml的文件 配置 spring 的包扫描
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
在将新建的springmvc.xml配置到 web.xml中
springmvc
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
springmvc
*.action
此时一个简单的springmvc的例子就已经搭建好了 在浏览器输入请求地址:http://localhost:8080/springmvc/hello.action
springmvc 执行流程分析:http://localhost:8080/springmvc/hello.action 找到 web.xml中的 过滤器 拦截路径
springmvc
*.action
拦截路径 之后 执行 前端控制器 加载springmvc.xml文件配置 找到 com.springmvc.contorller.HelloSpringMvc 根据请求地址中的hello.action。 hello requestMapping会将请求映射到controller中 处理的方法
注解:@RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。
第一次在博客上面写东西 很多东西 无法表达清楚,只是记录一下学习过程,如果 有哪里写的不对得 请多多指正 共同进步