java工作错误集
来源:互联网 发布:宏观经济数据网 编辑:程序博客网 时间:2024/05/18 13:29
今天是上班第一天,我就被安排去改正页面和服务器的乱码问题,在这个过程中遇到了很多有趣的事。
先来说一说Myeclipse,这个开发工具有很多优良的特性,本身在导入的jar包文件中不包含jsp-api、servlet-api包都能正常运行,但是我通过导出项目到本地的eclipse后发现有大大的红叉,javax.servlet.http.HttpServletRequest包含出错,同时页面标签也报错,只需要把jsp-api、servlet-api 放到项目中的 web-inf/lib目录下即可。
同理org.apache.jasper.JasperException:This absolute uri (http://java.sun.com/jsp/jstl/core ) cannot be resolved ineither web.xml or the jar files deployed with this application错误,也是没有导入JSTL的包,jsp的标准标签库。查阅资料知道:JSTL1.0的声明是:<%@ taglib prefix="c"uri="http://java.sun.com/jstl/core " %>JSTL1.1以后
的声明是:< %@ taglibprefix="c" uri=http://java.sun.com/jsp/jstl/core %>页面中也全部是用<%@ taglib prefix="c"uri=http://java.sun.com/jsp/jstl/core %>这种方式,javaee5之后就只有 jstl.jar 这一个jar包了,没有standard.jar包,tld文件也打包到jar里面去了。另外就是有说在web.xml文件里配置jsp-config的解决方式也对我遇到的这个问题无法解决。回到页面乱码和数据库乱码的问题上来,对于乱码的方式我们可以采取分步骤排除问题:
第一步:设置开发环境的编码为UTF-8。windows->preferences->Generl->ContentType.然后设置成UTF-8
第二步:页面。每个页面上加上<%@page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>或者<metahttp-equiv="Content-Type" content="text/html;charset=utf-8"/>
第三步:数据库连接句设置characterencoding为UTF-8如jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode==true&;characterEncoding=UTF8如果使用Hibernate,那就把所有的配置文件头部的编码格式改成UTF-8。
第四步:Tomcat。为了保证get/post数据都采用相同的UTF8编码,我们在server.xml中进行了如下: <Connector port="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
第五步:struts2配置struts2在配置struts.properties文件中加上struts.i18n.encoding=UTF-8或者在struts.xml里加上<constant name="struts.i18n.encoding"value="UTF-8" />
在web.xml文件里配置filter
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
也有自己写拦截器的。
最后一步:数据库(MSQL)。可以先输入查询语句SHOW VARIABLES LIKE 'character_set_%';,查看所有的编码是否是UTF-8。因为MySQL默认的字符编码是Latin1,如果不是可以使用Server Instance Config 把默认的字符集设置为utf-8或者修改/MySQL/MySQL Server 5.0/my.ini中的default-character-set=utf8 character-set-server=utf8然后重新启动mysql的服务就行了。也可以通过一个项目一个项目设置。只有一个编码为二进制的,其它的都设置为utf-8。我这次遇到的问题就是数据库的问题如图所示:
- java工作错误集
- 工作中的错误集--后端请求
- 工作中错误记录
- 工作学习中的错误
- 工作中错误总结
- JAVA 常见错误 集
- Android、Java错误集
- Java web 错误集
- Java错误集--错误定位方法
- 个人程序员工作技术错误
- 近期工作中的错误总结
- 工作中的informix错误记录
- 工作或练习错误记录
- 用JAVA操作错误集
- java测试错误集 -Spring
- java测试错误集 -Spring
- JAVA程序调试错误集
- java 常见错误合集
- C# kinect v2学习笔记(一) kinect V2配置安装
- Failed to start service jboss.network.management
- 为大家提供一个完整的Hibernate Annotation项目_源码下载
- Spinner的功能和用法
- FZU 1064教授的测试
- java工作错误集
- Android TextView 自定义ClickableSpan实现@ 超链接
- MPI和MIC
- Spring AOP(三)——通过@AspectJ注解切面
- Bzoj1875: [SDOI2009]HH去散步:邻接矩阵的幂
- 毕业设计第三十天
- 条件变量--pthread_cond_t(小程序)
- 查看Tomcat版本
- 9中UML图