新手的问题,请大家帮忙呀????????

net205 2003-08-29 11:22:58
刚学jsp,有一大堆的问题,希望能得到大家的帮忙,解答。在此多谢了!

1)。我用request.getParameter得到上一页传过来的一变量name的值,然后再从数据库中用rs.getString得到一值进行比较:if(rs.getString("name")!=name){...},在上一页中我传过来的值跟数据库中的值是一样的,可结果总是不相等,if为true,不知是怎么回事(我也在页面中输出了这两个值,确实是一样),我以为可能是类型不匹配,后来我加上:<%@ page contentType="text/html; charset=gb2312" %> 用getBytes("ISO8859_1")进行转换了,再在两个变量前用String进行强制转换,可都不行,由于上网不方便,不能提供全部的源码,请大家帮帮忙,想想有什么原因。

2)。jsp对数据库操作,比如取数据库中的字段的值好像要按顺序来操作,否则就出错,不知道怎么办,比如我想显示用户信息(由于顺序不同,不能在使用时用<%=rs.getString("name")%>之类的来显示),我只好先定义一堆变量顺序得到那些值,然后在需要时再用,有没有好的办法来解决。免除申请一大堆变量。

3)。我看使用数据库操作时,一般是先用java定义好一些类,方法。然后用javabean包括进出,进行调用。比较方便,我不太会,总是出错,不知道是不是设置还没搞好,请问要用javabean要设置些什么,怎么用??

4)。我发现用try()catch(...)()不能处理错误操作,我在删除记录时,条件没满足,它却执行了try中的语句,无解

5).对于asp中的response.end用来结束当前页,在jsp中怎么办?????

不好意思,菜鸟级别,问题特别多,由于在网吧上网,具体代码不好帖出来,请大家帮我想想可能出错的原因,帮我解答一下???多谢了!!!!!!!!!
...全文
25 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
troopers 2003-09-05
  • 打赏
  • 举报
回复
字符串的比较用equals()
jwywxx 2003-09-05
  • 打赏
  • 举报
回复
字符串的比较用equals()
betterjonah 2003-09-04
  • 打赏
  • 举报
回复
对于第一个问题:字符串比较,==是用来比较两个字符串对象的内存地址是否一样,而要判断值是否相等必须用equals();或compareTo();

对于第二个问题:可以将结果集保存在Vector中,这样就可以随意存取了,降低对数据库的占用。当结果集很大时,不宜用该方法,对服务器负担过大。

对于第三个问题:看看树上的例子。

对于第四个问题:需要仔细看看书,准确理解try,catch,finally.语句块。

对于第五个问题:jsp中,用out.close();
Alicechina 2003-09-04
  • 打赏
  • 举报
回复
!=这个我曾这样用过:if (name!=null) {...}
==这个我曾这样用过:if (name.length()==0) {....}
equals这个我曾这样用过: if (name.equals("mary")) {...}
zj2977 2003-09-04
  • 打赏
  • 举报
回复
第二个问题我也遇到过,jsp调用数据库最好按顺序调用,否则很可能出错!
net205 2003-09-04
  • 打赏
  • 举报
回复
to betterjonah(jonah) :
第二个问题可以将结果集保存在Vector中,具体怎么做,能给个实例吗????
xinshou1979330 2003-09-01
  • 打赏
  • 举报
回复
rs.getString("name").equals(name)

第一个问题一般都是这么做的
把JAVABEAN 当成一般的类就可以了

4:try,catch是处理exception的,条件没满足并不代表抛了exception,所以仍然正常执行。
最后一个不清楚了
不一定要结束当前页啊
可以转到某一页
wangwd 2003-09-01
  • 打赏
  • 举报
回复
不知我的解答能不能帮助你,但我感觉你的根本原因应该是这样的。
1、结果集并不是将所有的结果返回到客户端,而是一种工作流,也就是说,只有你把这条记录拿走后,才会继续下一条记录。
2、这种解决方法不是最佳的,有以下几个弊端:网络连接时间长,流量增大,如果出现任何异常出导致结果错误,
3、最后的办法是:在服务器端,将结果一次性查出,进行数据的封装,将这个封装的对象一次返回到客户端,你就可以根据你的需要进行取值了。
你的程序我简单写了个封装的类
public class People implements Serializable{
private String name;
private String password;
private String sex;
private String birthday;
private String qq;
private String intro;

public People(){};

public String getName(){
return name;
}

public void setName(String name){
this.name = name;
}

.........

}
这样,在结果集中你可以取出值并生成一个对象,将这个对象传回客户端就可以了
fj_jiangqi 2003-09-01
  • 打赏
  • 举报
回复
rs.getString("intro");这样取值会出错?真奇怪,只要字段在应该是正常的,我一直也都是这样用的。前面要加个判断语句if(rs.next()){rs.get...}
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
noratong 2003-08-31
  • 打赏
  • 举报
回复
你用字段的序号试一下!
net205 2003-08-31
  • 打赏
  • 举报
回复
首先感谢大家的解答,大家好热情,使我感动得流眼泪了,csdn上真的好温馨。兄弟姐妹们真的好!!

由于我表达的不是很清楚,有些便大家没理解,第一个问题我去试试,应该可以解决,对于javabean以后再去好好的学,至于第二个问题我再说清楚一下,希望大家帮我想想:
比如一个数据库中有6个字段,在库中的顺序是:name,password,sex,birthday,qq,intro
我想显示这些字段,不是按库中的顺序显示,比如是显示<%=rs.getString("name");%>的资料 用户:rs.getString("name"); rs.getString("qq");rs.getString("birthday");rs.getString("sex");rs.getString("intro");(注:里面的输出语句略)可是这样做不行,会出错,我发现jsp中一定要按顺序取库中的字段,即取字段的顺序与字段在库中的顺序要一致(有时一条记录中的字段值要取两次,如上面的名字,也会出错),为了解决这问题,我只好定义一堆变量String strname=rs.getString("name")......,然后在要用到时再调用这变量,由于定义了一堆变量,看得不顺眼,不知道有没有好的解决办法


不知道说清楚了没有,请大家帮我想想,下次结帐
jkit 2003-08-29
  • 打赏
  • 举报
回复
1:判断字符串相等用equals. 即if(str1.equals(str2))//str1和str2内容相等
2:使用bean
3:bean的编写方法:变量,+ get/set方法即get/set+变量名(第一个字母大写)。
例如:
private String name;
public String getName() {
return name;
}
public void setName(String name){
this.name = name;
}
4:try,catch是处理exception的,条件没满足并不代表抛了exception,所以仍然正常执行。
5:不用特殊处理
jncz 2003-08-29
  • 打赏
  • 举报
回复
第三个问题:与楼上同感说得不清楚
第四个问题:try{}catch(){}仅仅是catch错误的,不能代替条件的判断语句。
第五个问题:不明白
wxiaozhen 2003-08-29
  • 打赏
  • 举报
回复
!=好象不是判断是否等于的语句用!==试试
错了别笑
我是新手
jncz 2003-08-29
  • 打赏
  • 举报
回复
第二个问题:首先我没遇到过你说的这种情况
我的方法:while(rs.next()){out.print(rs.getString("name"));}
fj_jiangqi 2003-08-29
  • 打赏
  • 举报
回复
1.rs.getString("name")!=name,字符串不能这样比较,要rs.getString("name").equals(name)
2.要顺序操作,在sql语句中可以写上order by ...
3.可否说具体一点
4.try{}中的语句只有出错时才会运行catch(){}这中语句。
5.据说可用return我没试过。
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
jncz 2003-08-29
  • 打赏
  • 举报
回复
第一个问题:不能用==或者!=来判断。改用.equals()方法

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧