一、JSP内置对象概述
为了Web应用程序开发的方便,在JSP页面中内置了一些默认的对象,这些对象不需要声明就可以在脚本代码和表达式中随意使用。JSP提供的内置对象一共有9个,所有的JSP代码都可以直接访问这9个内置对象。
1、request对象
先看代码吧:
1.1访问请求参数
1)编写denglu.jsp页面
2)编写denglu_chuli.jsp代码
3)编写success.jsp代码
4)运行结果
注:1、在编写denglu_chuli页面判断“王俊凯“与所输入的用户名时,会出现用户名显示’???’,而密码正确输出中文乱码,(1)如果提交方式是post则可以在代码块中添加request.setCharacterEncoding(“utf-8”);来解决乱码问题;(2)如果是get则:String name=new String(request.getParameter(“name”).getBytes(“ISO8859-1”),“utf-8”);用这种方法请求(如果还有乱码,那就把ISO8859-1去掉只留下utf-8就可以了)。(后面我会比较get和post方法的区别)
2、当我们登录成功后地址栏会发生变化即:从denglu页面转换到denglu_chuli页面,这也就表明了,request对象是从客户端发出请求,把数据传送给服务器端,服务器获取到这些信息并进行处理。
3、实现获取用户提交的信息可用request.Parameter(“name”);方法这里的name要与denglu界面当中的name属性值保持一致
1.2在作用域中管理属性
编写setAttribute.jsp页面,在该页面中通过request对象的getAttribute()方法设置数据
error.jsp页面当中的代码为
运行结果:
语法:setAttribute(name,value) ; getAttribute(name)
1.3获取Cookie
步骤:
1、创建Cookie对象
Cookie cookie=new Cookie(“name”,value);
2、设置Cookie的有效期(它是按秒计算的)
cookie.setMaxAge(606024);
3、向客户端写Cookie
response.addCookie(cookie);
代码:
我在写cookie时遇到了这个错误java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value用了很多办法去解决但都不行,最后发现是我在输入用户名的时候多加了一个空格,所以在练习的时候一定要认真,要不然找bug会耽误很长时间
1.4获取用户信息
代码块