1.接收的参数为日期类型

  1. WEB-INF下的资源是无法通过地址栏的地址直接访问的,也不能通过重定向直接访问

  2. 400错误代表请求的参数有问题

  3. 解决接收参数为日期类型出错的问题

    1. 第一种方法:使用initBinds(当你接收的参数为日期类型或时间类型时,先经过该方法的处理)

      只要网页中传来的参数格式为yyyy-MM-dd就是转化为Date格式,这种方法适合单个时间日期参数

      //在controller中添加
      @InitBinder
      public void initBinder(ServletRequestDataBinder binder) {
      binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
      }
    2. 在实体类中添加注解(这里的格式不是输出的格式而是接收参数的格式,输出的格式还是Date类型的英文格式)

      ...
      
      public class Users {
      private String name;
      private String sex;
      @DateTimeFormat(pattern = "yyyy-MM-dd")
      private Date birthday;
      private String phone;
      ...

2.controller控制层进行数据保存

	/**
* 通过ModelAndView保存数据
* @return ModelAndView
*/
@RequestMapping("list3.do")
public ModelAndView list3() {
ModelAndView mv = new ModelAndView("index");
mv.addObject("name","张三");
return mv;
}
/**
* 通过Model保存数据到request中
* @param model
* @return String
*/
@RequestMapping("list4.do")
public String list4(Model model) {
model.addAttribute("name","李四");
return "index";
}
/**
* 通过Map保存数据到request中
* @param map
* @return String
*/
@RequestMapping("list5.do")
public String list5(Map<String,Object> map) {
map.put("name", "王五");
return "index";
}
/**
* 通过request保存数据到request中
* @param request
* @return String
*/
@RequestMapping("list6.do")
public String list6(HttpServletRequest request) {
request.setAttribute("name", "刘亦菲");
return "index";
}
/**
* 通过注解的方式将数据保存到session中
* @param model
* @return String
*/
@RequestMapping("list7.do")
public String list7(Model model) {
model.addAttribute("name","江疏影");
return "index";
}
/**
* 通过原始的session保存数据到session中
* @param session
* @return String
*/
@RequestMapping("list8.do")
public String list8(HttpSession session) {
session.setAttribute("name", "林允儿");
return "index";
}
/**
* 将数据保存到application中
* @param session
* @return String
*/
@RequestMapping("list9.do")
public String list9(HttpSession session) {
session.getServletContext().setAttribute("name", "杨超越");
return "index";
}

3.controller层如何进行重定向跳转(因为默认是请求转发)

return "redirect:register.jsp";使用redirect开头,告诉springmvc我要重定向跳转

4.静态资源的映射

  1. 首先在web.xml文件设置

    	<servlet>
    <servlet-name>springDispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>springDispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
  2. 在springmvc的配置文件中添加

    <!-- 释放静态资源 -->
    <mvc:default-servlet-handler/>

接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转的更多相关文章

  1. Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验,使用消息资源文件对消息国际化

    导包和配置 导入 JSR 303 的包.hibernate valid 的包 <dependency> <groupId>org.hibernate.validator< ...

  2. springMvc基本注解:@Component、@Repository(持久层) 、@Service(业务逻辑) 、@Controller(控制层)

    1.@Controller(控制层) :就是action层 2.@Service(业务逻辑) :业务逻辑层,负责处理各种控制层的操作 3.@Repository(持久层) :称为“持久化”层,负责对数 ...

  3. springmvc接收参数为日期类型

    用单个Date类型接收日期类型时,会出现报错,加上initBinder的方法 意思是将所有传入的参数都通过此方法,如果过是日期通过日期格式化器进行格式化 如果是接收类型为对象内的属性为Date类型时 ...

  4. 解决sqoop 导入oracle表时 --split-by参数为日期类型时的报错:ORA-01861: literal does not match format string

    报错栈: -- ::, INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Executing query: select " ...

  5. bean 接收的参数为Class类型

    这两个是等价的

  6. Spring Boot的Controller控制层和页面

    一.项目实例 1.项目结构 2.项目代码 1).ActionController.Java: package com.example.controller; import java.util.Date ...

  7. Servlet—作controller控制层

    servlet控制器的改造步骤: 1.编写servlet类,和访问路径 2.修改jsp请求路径 servlet参数配置---获取初始化参数 servlet参数配置---全局参数

  8. spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法

    Spring 中配置扫描器 <!-- springmvc的扫描器--> <context:component-scan base-package="com.beifeng. ...

  9. Spring MVC控制层的返回类型--String类型与Bean类型

    SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java ...

随机推荐

  1. js上 初识JavaScript

    1.JavaScript简介 **JavaScript ** 是什么?(重点) Js是一种专门为网页交互设计的客户端(浏览器端)的脚本语言: Js与html和css有相似之处,都在浏览器端解析: Js ...

  2. python绘制美丽花朵

    from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm from matplotlib.ticker import Line ...

  3. linux中搭建phpmyadmin详细流程

    一.phpmyadmin部署流程 1.1介绍 phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库. ...

  4. jrebel 启动失败的处理

    jrebel 启动失败的处理 今天使用 jrebel 启动项目的时候,突然啥日志都没有,只有一句Disconnected from the target VM, address: '127.0.0.1 ...

  5. git 清除本地git commit的内容

    由于我经常git add . , 然后再git commit -m "文字说明",这样有时候代码嵌套再另一个项目里面,就会把外面的项目一起提交了,导致提交的代码不是我想要的.小菜鸟 ...

  6. Ubuntu安装最新的SlickEdit软件--破解教程

    最近主要工作系统转到LInux上面来了,Slickedit的安装破解也费了些事,今天将过程整理一下做个记录. 说明:SlickEdit pro V21.03 Linux 64位实测可用,MAC实测可用 ...

  7. .netcore 微服务快速开发框架 Anno&Viper -分布式锁是个什么鬼

    1.什么是锁 锁是为了解决多线程或者多进程资源竞争的问题. 同一进程的多个线程资源竞争可以用lock解决. lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区. 如果其他线 ...

  8. JAVA数据结构(十一)—— 堆及堆排序

    堆 堆基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,最坏,最好,平均时间复杂度都是O(nlogn),不稳定的排序 堆是具有以下性质的完全二叉树:每个节点的值都大于或等 ...

  9. java:原子类的CAS

    当一个处理器想要更新某个变量的值时,向总线发出LOCK#信号,此时其他处理器的对该变量的操作请求将被阻塞,发出锁定信号的处理器将独占共享内存,于是更新就是原子性的了. 1.compareAndSet- ...

  10. Head First 设计模式 —— 00. 引子

    Head First 学习原则 P xxx 可视化:图片使得学习效率更高,更易懂 交谈式:第一人称交谈方式讲述学习内容更易引起注意 多思考:自主思考练习题和拓展知识的问题 保持注意力集中:将知识融合进 ...