基于J2EE的开发的一些经验
1.CMP的findByPrimaryKey有时将返回NULL:
给findByPrimaryKey送了一个数据库中不存在的键值,就抛出了异常
如果参数是数据库中存在的一个关键字,则是返回对应的primarykey
2.对于BMP,必须远程的调用一个create方法,否则只能被使用一次,就会出现JDBC的问题。这个create()如果不是用返回对象的话可以任意写一个返回primayKey值即可
3.response.setContentType("text/xml;charset=UTF-8");
PrintWriter out = response.getWriter();
但需要指定编码时,这两条语句必须是这个顺序,否则就会出错。
因为response.getWriter()的默认编码是ISO-5988-1,它是不能被转码成GB2312,UTF-8.
而且这种编码时不支持中文的。 4.对于jsp页面,通常是不需要在web.xml文件中配置,就可以根据链接,就可以访问。只有对于于特定的访问就需要
配置到web.xml文件中,以控制页面的走向。
5.对于错误处理页面,只要在web.xml文件中设置如下:
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
即当页面访问出错时,就会显示该页面。对于请求所出的错误是没有办法的!
6.对于jsp和servlet的显示和处理,经常可能出现乱码。
通常
对于jsp,有<%@ page contentType="text/html;charset=gb2312"%>
对于servlet,有Response.setContentType("text/html;charset=gb2312");
一般对于显示,中文上面是保险的办法,其他的一些编码会经常出乱码
7.有时还需要对request的内容进行编码。如
request.setCharacterEncoding("GBK");
8.在servlet中从服务器的数据库中读出文件(上传可以用fileupload组件smartupload组件)的办法.例:
String sql="SELECT FileSize,FileStore FROM ResourseStore where MagazineNumber=@#"+MIDValue+"@#";
stmt=con.prepareStatement(sql);
ResultSet rs=stmt.executeQuery();
if(rs.next()){
int len=rs.getInt("FileSize");
InputStream in = rs.getBinaryStream("FileStore");//对于ResultSet而言,获取值得顺序同select中返回值的顺序,否则数据库会出异常。
byte b[]=new byte[len];
while(true)
{
int readlen=in.read(b);
if(readlen==-1)
{
break;
}
}
response.setContentType("application/x-msdownload");
ServletOutputStream op = response.getOutputStream();
op.write(b,0,b.length);
op.flush();
op.close();
如果数据库支持clob或clob时(sql service不支持读取,也不支持URL),可以采用别的办法解决问题。如:读取二进制(如上),读入字符串,然后通过类型转换即可!
- · J2EE项目危机【翻译】 -避免这10项J2EE危机来确保你的企业JAVA项目成功
- · J2EE应用中与Oracle数据库的连接
- · J2ME Polish学习心得(一)----Device Optimization
- · J2EE框架标准OpenSource大战拉开序幕!
- · J2EE学习过程
- · J2EE的13种核心技术(二)
- · J2EE项目中开发团队的组建
- · J2EE开发过程中的异常处理
- · 谈谈J2SE中的序列化(三)
- · J2EE初学者需要理解的问题
- · J2EE deployment files(web.xml)
- · J2EE deployment files (ejb-jar.xml)
- · j2sdk 与 Tomcat5配置方法与注意事项
- · J2ME学习笔记(七)
- · 开发J2EE应用应遵循的几点原则
- · [J2EE]项目艰辛笔记
- · J2EE程序中使用oracle数据库LOB字段的总结(elathen)
- · J2EE编程起步(一)
- · 走向J2EE,漫长的道路
- · [J2SE 5.0专题][3]虚拟机
- · J2EE clustering 1---有些老了
- · [J2SE 5.0专题][2.7]注解
- · [J2SE 5.0专题][2.1]泛型
- · J2EE 探险者:持久数据管理,第 2 部分
- · J2EE 探索者:使用 Java Servlets 2.4 来执行过滤
- · J2EE 探险者:持久数据管理,第 2 部分
- · 用J2EE开发N层应用
- · Oracle9iAS Containers for J2EE独立版指南--(部署servlet和JSP的方法)
- · Oracle9iAS Containers for J2EE独立版指南--(简介、安装、启动、关闭和帮助)
- · J2EE项目10大风险
- · J2EE全面介绍(一)
- · J2EE设计模式:CMP到BMP模式(一)
- · Spring Framework标记库初学指南
- · j2ee程序员应该掌握的linux知识
- · J2ME打包--解决移动平台api 问题
- · J2EE平台介绍
- · 应用Rational工具简化基于J2EE项目(五)架构与设计
- · 应用Rational 工具简化基于J2EE的项目 (三)转换到系统模型
- · 应用Rational 工具简化基于J2EE的项目(一)
- · 试析J2EE与.NET时代的商业利润
- · 应用OSCache提升J2EE系统运行性能
- · J2EE and XML Development -Ebook download
- · J2EE应用中与Oracle数据库的连接
- · 应用OSCache提升J2EE系统运行性能
- · j2EE基础概念(总结)

