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 属 ...
随机推荐
- js Date对象总结
Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象. 由于平常用到Date着实不多,对它的了解颇浅.上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断 ...
- Tomcat学习总结(13)—— Tomcat常用参数配置说明
1.修改端口号 Tomcat端口配置在server.xml文件的Connector标签中,默认为8080,可根据实际情况修改. 修改端口号 2.解决URL中文参数乱码 在server.xml文件的Co ...
- 【区块链Go语言实现】Part 2:工作量证明机制POW
0x00 介绍 在上一篇文章中,我们建立了一个非常简单的数据结构,它是区块链数据库的本质.并且,我们实现了以类似链条关系的方式向其中添加区块的功能:每个区块都会链接到前一区块.然而,我们实现的区块链有 ...
- myeclipse解决Fail to create the java Virtual Machine
今天在打开myeclipse的时候,就显示出 Fail to create the java Virtual Machine 这样的一个窗口出来. 解决的方案就是在myeclipse的安装目录下找到m ...
- 关于LVS+Nginx为什么会被同时使用的思考
最初的理解 (也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比ng ...
- (转)Spring事务管理(详解+实例)
文章转自:http://blog.csdn.net/trigl/article/details/50968079 写这篇博客之前我首先读了<Spring in action>,之后在网上看 ...
- T-SQL建索引
USE database GO ------------开始----------- ALTER TABLE [name] DROP CONSTRAINT 主键约束 ----删除主键约束 IF ...
- net 反射30分钟速成
概述 什么是反射 Reflection,中文翻译为反射. 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’.‘模块(Module)’. ...
- VMware12创建新的虚拟机及设置硬件环境
一.安装VMware虚拟机 http://jingyan.baidu.com/article/215817f78879c21edb142379.html?qq-pf-to=pcqq.group 二.创 ...
- 你真的了解 Unicode 和 UTF-8 吗?
目录 引言 ASCII 码 什么是 ASCII 码? ASCII 码都包含哪些字符? ASCII 码的局限在哪里? Unicode 什么是 Unicode ? Unicode 的实现方式有几种? Un ...