springmvc 笔记一
Springmvc
处理流程
所需的包
前端配置器
在web.xml中配置
<!-- 配置前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 默认找 /WEB-INF/[servlet名称]-servlet.xml --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 1. /* 拦截所有jsp、js、png、css 全拦截,并不建议使用 2. *.action *.do 拦截指定后缀的请求 3. / 拦截所有(不包括jsp) (包含js、css、png) 强烈使建议使用 --> <url-pattern></url-pattern> </servlet-mapping>
springmvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 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"> <!-- 扫描@Controller @Service --> <context:component-scan base-package="com"></context:component-scan> </beans>
HelloController.java
@Controller public class HelloController { @RequestMapping(value="hello") public ModelAndView hello() { String hello = "hello,SpringMVC"; ModelAndView modelAndView = new ModelAndView(); //添加数据 modelAndView.addObject("mes", hello); //转发页面 modelAndView.setViewName("hello.jsp"); return modelAndView; } }
测试页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>hello</title> </head> <body> ${mes } </body> </html>
Springmvc默认加载组建
配置优化 修改springmvc.xml
<!-- 处理器映射器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> --> <!-- 处理器适配器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean> --> <mvc:annotation-driven/> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 后缀 --> <property name="suffix" value=".jsp"></property> </bean>
测试方法
@RequestMapping(value="hello") public ModelAndView hello() { List<Items> list = new ArrayList<Items>(); String hello = "hello,SpringMVC"; ModelAndView modelAndView = new ModelAndView(); //添加数据 modelAndView.addObject("mes", hello); //此处去掉了前后缀 modelAndView.setViewName("hello"); return modelAndView; }
默认参数绑定
通过servlet相关进行绑定,获取请求之类参数
测试url:
http://localhost/springmvc20180614/toEdit?id=1
方法:
@RequestMapping(value="toEdit") public ModelAndView toEdit(HttpServletRequest request , HttpServletResponse response) { String id = request.getParameter("id"); System.out.println(id); return null; }
输出结果 : 1
基本类型绑定(8大基本数据类型)
将请求参数作为方法形参
测试url:
http://localhost/springmvc20180614/toEdit?id=1
@RequestMapping(value="/toEdit") public ModelAndView toEdit(Integer id,HttpServletRequest request , HttpServletResponse response) { System.out.println(id); return null; }
Pojo绑定
测试url:
http://localhost/springmvc20180614/toEdit?id=1
@RequestMapping(value="toEdit") public ModelAndView toEdit(Items items) { System.out.println(items.getId()); return null; }
注意事项:请求参数必须和类里的属性名字对应
类必须有无参构造函数。
Post提交乱码问题
在web.xml中添加一个过滤器
<!-- 解决Post提交乱码问题 --> <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
自定义参数绑定
测试url:
http://localhost/springmvc20180614/dateConveter?date=2018:06-15 15_48:49
日期转换类DateConveter
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.convert.converter.Converter; public class DateConveter implements Converter<String, Date>{ public Date convert(String source) { try { if(null!=source) { DateFormat df = new SimpleDateFormat("yyyy:MM-dd HH_mm:ss"); return df.parse(source); } } catch (Exception e) { e.printStackTrace(); } return null; } }
springmvc.xml配置
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"/> <!-- 配置转换器 --> <bean id="conversionServiceFactoryBean" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.conversion.DateConveter"></bean> </list> </property> </bean>
测试方法
@RequestMapping(value="dateConveter") public ModelAndView toEdit(Date date) { System.out.println(date); return null; }
输出结果
Fri Jun 15 15:48:49 CST 2018
springmvc 笔记一的更多相关文章
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- SpringMvc 笔记
整理出来是 SpringMvc 笔记 方便以后查询 框架太多了 不经常使用 忘记的可能性很大 自己整理一套笔记 一看就明白了 1 对比 原始请求响应流程 1 发送请求 --> 2 控制层 --& ...
- 初学者的springmvc笔记02
springmvc笔记 springmvc拦截器,spring类型转换,spring实现文件上传/下载 1.SpringMVC标准配置 导入jar包:core contaner 在web.xml文件中 ...
- SpringMVC笔记
Struts1是采用单例模式的,在并发访问中出来资源混乱,于是出现Struts2被设计为多例的解决并发产生的 数据混乱由于Struts2引入了值栈,拦截器,OGNL等,,,是访问速度下降在原生的JSP ...
- 框架SpringMVC笔记系列 二 传值
主题:SpringMVC(第一节中再回顾复习一次) 学习资料参考网址: 1.http://www.icoolxue.com 2.http://haohaoxuexi.iteye.com/blog/13 ...
- 框架SpringMVC笔记系列 一 基础
主题:SpringMVC 学习资料参考网址: 1.http://www.icoolxue.com 2.http://aokunsang.iteye.com/blog/1279322 1.SpringM ...
- 传智springMVC笔记
springmvc 第一天 springmvc的基础知识 课程安排: 第一天:springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处 ...
- springmvc笔记(来自慕课网)
1.准备工作:springmvc相关的jar包. 2.这里我们先用eclipse来操作. 首先看一个接口编程,后面的所有知识点都是通过这个接口编程引出的. OneInterface.java pack ...
- springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)
首先导入jar包 大家注意一下我的springmvc,jackson,common-up的jar包版本.其他版本有可能出现不兼容. src文件: webroot目录: web.xml <?xml ...
- SpringMvc笔记-对RESTFUL风格的配置
1.@RequestMapping注解可以使用如下参数: 1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属 ...
随机推荐
- Restful API 设计参考原则
在项目中,需要为后台服务撰写API.刚开始接触的时候,并没有考虑太多,就想提供URL,服务端通过该URL进行查询.创建.更新等操作即可.但再对相关规范进行了解后,才发现,API的设计并没有那么简单,远 ...
- 第四章 使用Servlet处理HTTP请求
回顾上一章的知识: 请求网络资源HTTP会发出多个请求并得到响应 设置响应状态行关键是设置状态码 在向客户端输出内容之前要设置状态码和响应头 设置响应头让Servlet发挥最大功能 消息体可以用文 ...
- vue-cli 使用Mint-UI
在安装好的vue-cli的项目基础上,安装Mint-UI cnpm install mint-ui -save //引入全部组件import Mint from 'mint-ui'import 'mi ...
- React多页面应用脚手架-v1.3.0
react-multi-page-app是一个基于react和webpack的多页面应用架构,通过编译生成对应目录结构清晰的静态页面,实现多页面便捷开发维护.1.3.0 版本对项目整体做了一个全面的升 ...
- Eclipse中使用printf报错 提示参数类型不对
报错信息: The method printf(String, Object[]) in the type PrintStream is not applicable for the argument ...
- Razor 中的@rendersection
在使用布局页时,可以指定页面中某处的渲染,具体的用@rendersection来做.如在布局页中要渲染一段自定义的脚本, @RenderSection("scripts", req ...
- Jquery插件的使用及制作插件
常用插件 插件:jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能. jQuery有着丰富的插件,使用这些插件能给jQuery提供一些额外的功能. jquery.color.js ...
- 月赛 && SX_ACM 惨痛教训
1.cnt变量若有多次询问,一定要记得初始化!!! 2.多组数据输出入,区泛~. 3.高性能问题,考虑位运算,
- 青蛙的约会(poj1061+欧几里德)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 94174 Accepted: 17412 Descripti ...
- Mybatis中trim标签的用法
select * from t_user <trim prefix="WHERE" prefixOverrides="and"> <if te ...