论坛
门户
内部优惠
喜欢
话题
VIP会员
搜索
新浪微博
登录
注册
100%
100%
首页
>
软件开发
>
java语言
>
基于J2EE的研发的一些经验-JSP教程,J2EE/EJB/...
回复
« 返回列表
111111
精灵王
注册日期
2010-12-08
发帖数
640
QQ
火币
1103枚
粉丝
120
关注
75
加关注
写私信
打招呼
阅读:
3058
回复:
0
基于J2EE的研发的一些经验-JSP教程,J2EE/EJB/服务器
楼主
#
更多
只看楼主
倒序阅读
发布于:2010-12-15 12:45
保存
100%
100%
[]
1
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),能采用别的办法解决问题。如:读取二进制(如上),读入字符串,然后通过类型转换即可!
喜欢
0
评分
0
最新喜欢:
回复
100%
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
100%
返回顶部
关闭
最新喜欢