资源
Servelet和JSP的分工
JSP用来写请求发起页和响应页
Servlet用来写后台的业务逻辑处理、数据库交互等
问题汇总
- 很大的一个坑,与MySQL连接时rs.next()的使用
它用于判断结果集中是否有下一个并且指针下移一位
,划重点
就是说开始时指针处于第一条记录之前
在执行此函数时指针已经下移了一位,指向了第一条记录
如果你的返回只有一条记录时最好使用 if(rs.next())
,多条记录时使用while
另外,使用 rs.next() 判断返回的一条记录是否为空时一定要注意
算了,Talk is cheap,show me the code.
if (!(rs.next())) {
//没有此用户时rs.next为空,取反后执行
UserLoginSQL_Status="UserLoginSQL_InvalidUsername";
//return UserLoginSQL_Status;
}
else {
if (rs.next()) {
//有此用户
String SQLemailAddress=rs.getString("emailAddress");
String SQLuserName=rs.getString("userName");
}
不要这样写
因为第一个 rs.next()
执行后如果没有记录的话,指针下移指向空,返回false,取反后执行赋值语句。
但是如果有记录的话就返回true,指针指向第一条记录,然后执行else中的语句,注意
此时如果再画蛇添足用 if (rs.next())
判断一遍的话,返回是false,因为已经没有下一条记录了
- 这个纯粹是自己太傻叉了
因为操作系统做实验需要用到javac命令,CentOS上需要
yum install java-devel
执行完以后我的jdk被更新了一个版本,但eclipse里没有同步更新,最明显的特征就是所有java文件的首行都有报错java.io.IOException cannot be resolved to a type
解决:BuildPath --> Configure Build Path --> 看到JRE System Library出现错误–>Remove后–>Add Library --> JRE System Library --> 选择新的jdk
- 记录一个没见过的异常吧,直觉应该是同时进行了GET和POST引起的,暂未解决
严重: Servlet.service() for servlet [myservlet.CommentServlet] in context with path [/wuming_BBS] threw exception
java.lang.IllegalStateException: Cannot forward after response has been committed
at
感觉自己是个傻子,让你不好好看代码!两次forward都看不到