1.html文件中是form不是from! 不然怎么点注册,控制台也出不来信息
2.常见方法:
getParameter(name):根据表单中name属性的名,获取value属性的值
getParameterValues(name):复选框专用.当没有勾选时,长度是null.而不是0,此时不能判断长度,只能判断null!
意思就是获取重名的name的value值,没有重名也可以用这个方法
String s1 = request.getParameter("userName");
String[] s2 = request.getParameterValues("hobby");
for(int i = 0; s2!=null && i<s2.length ; i++)
syso(s2[i]+'\t');
3.告诉服务器使用什么编码(注: 浏览器使用的是什么编码,传过来的就是什么编码!)
request.setCharacterEncoding("UTF-8");
4.getParameterNames() 得到表单提交的所有name的方法
Enumeration names = request.getParameterNames();
while(names.hasMoreElements()){
String name = (String)names.nextElement();//得到每一个name名
String[] values = request.getParameterValues(name);//无论一个还是多个值,都可以用数组来接
for (int i = 0; values!= null && i<values.length; i++){
syso(name+ "\t" + values[i]);
}
}
5.另一个注意点:myeclipse更新代码后,网页不能直接回退,应该刷新.回退的话使用的逻辑应该还是之前那个.class文件
6.session作用域和request作用域的区别(前者跨越多个网址,后者另外个网址就传不过去值了)
7.为什么要jsp而不是html:前者可以加java代码
8.关于jsp的最佳实践:登陆页面+成功后的显示页面+跳转后的主页由jsp写(显示出来的部分);
处理登录逻辑(检查账号密码是否正确,进一步决定跳转并显示密码错误还是跳转到欢迎界面)由servlet写.
完整代码共三个jsp文件加一个servlet文件,构成简单登录过程