发表于: 2016-10-30 21:40:37

0 2800


今天完成的事情:终于解决了form表单提交request报空的问题了,在pom.xml配置javaee-api即可

遇到的问题:

1.

jetty编译后放到哪里

在\CounterWebApp\target\classes路径下

2.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

在我修改了mvc-dispatcher对应的url-pattern为/*就不出现了,这里需要重新了解下url-pattern的定义方式和含义


3.

405错误

Request method 'POST' not supported

@RequestMapping(value="/add",method=RequestMethod.POST)中加入method

4.

insert into itxzy_task_userinfo(create_at,update_at,sex,age,qqNumber,schoolName,name,signature,imageUrl,account,

password)  values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'qqNumber' in 'field list'

这是数据库没有这一列,原来是列名写错了

5.

java.lang.OutOfMemoryError: PermGen space

死循环


这个错误需要了解


Could not complete request

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is 

java.lang.OutOfMemoryError: PermGen space

最后发现jetty启动的时候就没有成功

Shutting down log4j

[WARNING] failed org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@204a755a{/ITTest,D:\study\CounterWebApp\

src\main\webapp}: java.lang.OutOfMemoryError: PermGen space

[ERROR] EXCEPTION 

java.lang.OutOfMemoryError: PermGen space

[WARNING] org.mortbay.jetty.plugin.AbstractJettyRunMojo$1@1813aa72 failed on '[D:\study\CounterWebApp\target\

classes\org\test\action\UserinfoAction.class]


然后使用clean jetty:run启动时

Failed to set up a Bean Validation provider

javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider 

could be found. Add a provider like Hibernate Validator (RI) to your classpath.

只要在maven中添加jsr303-validation包的依赖就不在报上面的错误了

<dependency>

<groupId>org.apache.bval</groupId>

<artifactId>bval-jsr303</artifactId>

<version>0.5</version>

</dependency>


然后错误信息变了


Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 

'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0': Invocation of init 


method failed; nested exception is java.lang.AbstractMethodError: org.apache.bval.jsr303.ConfigurationImpl.

getDefaultParameterNameProvider()Ljavax/validation/ParameterNameProvider;

改用

<dependency>

     <groupId>org.hibernate</groupId>

     <artifactId>hibernate-validator</artifactId>

       <version>5.2.4.Final</version>

</dependency>

启动就不再报错了


关于hibernate-validator,这里需要了解

JSR303Bean Validator是数据验证的规范,而hibernate validator 是其中的一个实现。


6.

依然报错

[WARNING] failed org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@325b77ed

{/ITTest,D:\study\CounterWebApp\src\main\webapp}: java.lang.OutOfMemoryError: PermGen space

[ERROR] EXCEPTION 

Exception in thread "Timer-1" 

PermGen space空间不足

控制器输出info级别的日志就不报错了


7.

页面中文插入数据库乱码

jdbc:mysql://127.0.0.1:3306/study?characterEncoding=utf-8

使用在数据库链接后面设置编码格式


8.

new Date()插入数据库只显示日期时间全是00:00:00

 #{create_at,jdbcType=DATE},

  #{update_at,jdbcType=DATE})

insert等语句jdbcType=TIMESTAMP对应mysql中的datetime,jdbcType=DATE 对应mysql中的Date


9.

使用clean -DskipTests package成功打包,

两个月终于又到了任务三了。。。。。。


返回列表 返回列表
评论

    分享到