第一讲 Hello Spring MVC
来源:互联网 发布:时时彩软件urssc 编辑:程序博客网 时间:2024/05/16 07:18
一、mvc框架要做哪些事情:
- 将url映射到java类或java类的方法
- 封装用户提交的数据
- 处理请求-调用相关的业务处理-封装响应的数据
- 将响应数据的数据进行渲染(jsp、html、freemarker等)
二、spring mvc:是一个轻量级的基于请求响应的mvc框架。
三、为什么要学习spring mvc?
- 性能较structs2好
- 简单便捷易学
- 天生和spring无缝集成(使用spring aop、 ioc)
- 使用约定优于配置
- 能够进行简单的junit测试
- 支持Restful风格
- 异常处理
- 本地化、国际化
- 数据验证、类型转换等
- 拦截器等
使用的人多,使用的公司多。
四、简单了解结构
五、spring mvc的案例
步骤:
- 导入jar包
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
//新建一个ModelAndView对象
ModelAndView mv = new ModelAndView();
//封装要显示到视图中的数据
mv.addObject("msg", "Hello, spring mvc!");
//设置视图名
mv.setViewName("hello");
因为这里渲染的是jsp页面所以加入这个jar包
- 配置web.xml文件-配置分发器
<display-name>spring-web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
- load-on-startup标记容器是否在启动的时候实例化并调用其init()方法的优先级。
- 它的值表示servlet应该被载入的顺序
- 当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
- 如果值小于0或未指定时,则表示只有在第一次请求的容器才在该servlet调用初始化函数
- 正值越小,servlet的优先级越高,应用启动时就越先加载。
- 值相同时,容器就会自己选择顺序来加载。
- 添加spring mvc配置文件:默认在WEB-INF下添加[servlet-name]-servlet.xml文件
- 编写HelloController.java
public class HelloController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
//新建一个ModelAndView对象
ModelAndView mv = new ModelAndView();
//封装要显示到视图中的数据
mv.addObject("msg", "Hello, spring mvc!");
//设置视图名
mv.setViewName("hello");
return mv;
}
}
- 编写spring mvc配置文件
<!-- 配置HandlerMapping -->
<bean class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- 配置HandlerAdapter -->
<bean class = "org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 配置渲染器 视图解析器 -->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- 结果视图的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 结果视图的后缀 -->
<property name="suffix" value=".jsp" />
<!-- 例:视图名为:hello 渲染后:/WEB-INF/jsp/hello.jsp 该页面-->
</bean>
<!-- 配置请求和处理器 -->
<bean name = "/hello.do" class = "com.liujie.controller.HelloController"></bean>
- 测试运行
六、使用注解(Annotation)的配置
- 编写HelloController.java
@Controller
public class HelloController {
@RequestMapping("/hello")
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "Hello, spring mvc!");
return mv;
}
}
- 编写spring mvc配置文件
<!-- 配置渲染器 视图解析器 -->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- 结果视图的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 结果视图的后缀 -->
<property name="suffix" value=".jsp" />
<!-- 例:视图名为:hello 渲染后:/WEB-INF/jsp/hello.jsp 该页面-->
</bean>
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="com.liujie.controller"/>
七、可以自定义spring mvc配置文件的位置及名字
- 配置web.xml文件-配置分发器
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
阅读全文
0 0
- 第一讲 Hello Spring MVC
- Spring MVC 第一讲:SpringMVC 知识入门
- 第一讲 Hello FreeMarker
- Spring MVC ——第一个工程之Hello World!
- Spring MVC框架下的第一个Hello World程序
- 第一个Spring MVC框架的hello world项目
- Spring框架第一讲
- 第一讲 Spring简介
- spring mvc Hello World
- Hello Spring MVC
- Spring MVC hello world!
- spring mvc hello
- 慕课网-Hello Spring Mvc
- Spring MVC Hello案例
- 第一讲 使用JNI输出“Hello World!”
- Hello World Spring MVC Hello World
- Spring MVC Hello world教程 Spring MVC Hello World Example
- spring学习总结-第一讲
- 在c#中调用python
- struts2返回数据到EasyUi或者bootstrap的表格
- jsp中点击一个多选框,实现全选或全不选
- mysql排序字段的索引认识
- PHP那些琐碎的知识点
- 第一讲 Hello Spring MVC
- 视频转换 质量少许改变 清晰度不怎么改变 格式工厂
- Python 交叉排序题
- IDEA openjdk platform binary 已停止工作 的解决办法
- 资源混淆工具AndResGuard
- Java学习之类加载器
- ubuntu下使用python接口对网络结构进行可视化
- 开发者的利器--Zeal 离线API
- 在case标签中使用非静态字段