• SpringMVC错误,商品添加信息HTTP Status 400 – Bad Request


    记录一个自己在做商品信息显示与传递数据的时候出现的错误,


    HTTP Status 400 – Bad Request
     
    Type Status Report
     
    Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

    简单的说我在商品信息里有个Date createDate的属性类型。但是在前台传数据的时候是个String类型,因此会出现这个错误,可能是这个错误吧,我当时没复制,找了个网上问题相似的。我最开始解决这问题是在

    SpringMVC.xml里配置了

    <bean id="conversionServer"
            class="org.springframework.format.support.FormattingConversionServiceFactoryBean">

    <!-- 日期转换器 -->

    <property name="converters">

    <list>

    <bean class="com.mju.band3.Converter.DateConverter" />

    </list>

    </property>

    </bean>

    这个是DateConverter代码

    package com.mju.band3.Converter;

    import org.springframework.core.convert.converter.Converter;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class DateConverter implements Converter<String, Date> {
    private String datePattern="yyyy-MM-dd";
    @Override
    public Date convert(String s) {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);

    try {
    return simpleDateFormat.parse(s);
    } catch (ParseException e) {
    throw new IllegalArgumentException("无效的日期格式");
    }


    }
    }

    然而他出现了一个我弄了好几天都没弄好的问题,也就是我的JSP所有样式失效,而且也蹦掉,怀疑是jar版本问题,因为我再练习这个项目的时候出现了N多个版本问题的错误,
    反正我是不知道为啥,那位大神能指点迷津,


    那么我就去换了个方法,觉得这个方法也不错。贴上我的Bean
    package com.mju.band3.Bean;

    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class Item {
    private Integer id;
    private String name;
    private float price;
    private String detail;
    private String pic;
    private Date createtime;

    public Item(Integer id, String name, float price, String detail, String pic, Date createtime) {
    this.id = id;
    this.name = name;
    this.price = price;
    this.detail = detail;
    this.pic = pic;
    this.createtime = createtime;
    }

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public float getPrice() {
    return price;
    }

    public void setPrice(float price) {
    this.price = price;
    }

    public String getDetail() {
    return detail;
    }

    public void setDetail(String detail) {
    this.detail = detail;
    }

    public String getPic() {
    return pic;
    }

    public void setPic(String pic) {
    this.pic = pic;
    }

    public Date getCreatetime() {
    return createtime;
    }

    public void setCreatetime(String str) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date createtime;
    try {
    createtime = sdf.parse(str);
    this.createtime = createtime;
    } catch (Exception e) {
    e.printStackTrace();
    }
    }



    public Item() {
    super();
    }

    @Override
    public String toString() {
    return "Item{" +
    "id=" + id +
    ", name='" + name + '\'' +
    ", price=" + price +
    ", detail='" + detail + '\'' +
    ", pic='" + pic + '\'' +
    ", createtime=" + createtime +
    '}';
    }
    }

    着重看setCreatetime方法,完美解决,贴出来分享下小白吧,我自己也是小白。
    明天找机会再分享下上传文件显示的问题,也当做给自己成长记录,同时做做笔记吧。
    兴许以后会来看自己的代码会觉得可笑,但也挺值得回味的。







  • 相关阅读:
    leetcode两数之和go语言
    百度地图省市php获取
    odbc。INI配置
    php 批量脚本检测语法错误
    mac下docker安装php链接使用国产数据库驱动
    php连接神通数据库 ci框架
    预处理数据
    phpword读取内容和样式 生成新的内容
    php生成gitbook路径
    英语学习
  • 原文地址:https://www.cnblogs.com/cndou/p/10991863.html
Copyright © 2020-2023  润新知