java web经验小结

1.重新认识表单提交get和post方式

1.1  假设<form action="news.jsp?ac=ty" method="get">然后news.jsp用request.getParameter("ac")就会拿不到,为空。改成post方式才可以。当然,可以把这个参数(ac)改成隐藏域,然后get方式就可以(这里new.jsp换成xxxServlet效果是一样的)。

比较奇葩的是用超链接<a href="news.jsp?ac=ty">传递参数却可以接收到。所以对那些不敏感内容如搜索信息我觉得完全不需要表单,用超链接加上javascript、jquery(用来获取用户提交的Input内容)然后get一下就可以。实际验证也是可行的,代码如下:

<!-- A页面 -->  
<script type="text/javascript">
function got(){
var username=document.getElementById("username").value;
window.location="news.jsp?u="+username+"";
}
</script>
<input type="text" name="username" id="username"/>
<a href="javascript:got()">sss</a>
 <!-- 跳转后的news页面 -->  
<%=request.getParameter("u") %>
 

   1.2  传说中:对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

但是,对于如下片段(注意:文本框参数ac和action里面参数ac重名了)
<form method="get" action="news.jsp?ac=ty">
<input type="text" name="ac"/>
<input type="submit" value="go"/>
</form>
在news.jsp中将得到form表单中文本框的内容,而如果将上面片段form提交方式改成post,则news.jsp永远只会得到ty。
综合上述两例,相信你会重新厘清get和post的。

2.写dao层方法时注意写上return null,不能图省事return一次就完,会导致后续出现未知错误。原因在于new(无参构造方法)了一个javabean,它就不为空,但是各属性却为空;另一方面:若申明某javabean为空,后续就不能对其属性赋值了。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值