发表于: 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成功打包,
两个月终于又到了任务三了。。。。。。
评论