最近做的网页总结心得

做了一段时间,让我有几点感慨:

 

(1) 每一次在调试中出现的小小异常就表示了,自己所作的程序里出现了一些问题,

例如这次碰到的

 %> <option value='<%=rs.getString("name")%>' <%name=(String)session.getAttribute("name");if(name!=null&&name.trim().equals(rs.getString("name").trim()))
       {out.println(" selected=true ");} %>><%=rs.getString("name")%></option>
       <%

在option 的value值 为<%=rs.getString("name")%>,可是外面却需要加上一个小括号,因为漏掉了这一点所以我的代码有时候出现错误,因为可能rs.getString("name")是一个字符串,而该字符串里面会出现空格,如果不加引号,字符串不能完整的读取,而引号中的内容在jsp页面里是要被送入服务器的,

而这一部分出现的 >><%=rs.getString("name")%></option>是显示在jsp页面上给用户看的

 

 

(2)每做一个东西都会包含很多与它有关的很多技术,在这个过程里,需要不断的学习,不断的应用,这是一个很长久的过程。

 

(3)在做这个简单的jsp页面的时候,要感觉的一点,jsp页面代码的编写,像servlet提交请求,servlet响应请求,整个过程是否符合java web 逻辑

例如:在

 %> <option value='<%=rs.getString("name")%>' <%name=(String)session.getAttribute("name");if(name!=null&&name.trim().equals(rs.getString("name").trim()))
       {out.println(" selected=true ");} %>><%=rs.getString("name")%></option>
       <%

中,如果我没有检验一下if(name!=null),这句话,servlet会抛出页面为空的异常,为什么会出现这种情况,在没有submit之前,下拉框的内容就已经写完了,在这时servlet还没有返回给jsp页面一个name值,它是空的,所以当执行到此处是,jsp又需要这个值,二者矛盾,不符合逻辑了,所以会出现抛空异常。

(4)另一个是关于重定向的问题,response.sendRedirect()和request.forward() 的用法,根据页面的关系选择使用,前者主servlet会发生跳转,在response.sendRedirect()所在位置后面的程序不会执行,而使用request.forward() 则不会出现这种情况,这是我的一点理解,当然两个函数还有其他的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值