一、JSP内置对象概述

为了Web应用程序开发的方便,在JSP页面中内置了一些默认的对象,这些对象不需要声明就可以在脚本代码和表达式中随意使用。JSP提供的内置对象一共有9个,所有的JSP代码都可以直接访问这9个内置对象。

1、request对象

先看代码吧:

1.1访问请求参数

1)编写denglu.jsp页面

JSP内置对象request对象

2)编写denglu_chuli.jsp代码

JSP内置对象request对象

3)编写success.jsp代码

JSP内置对象request对象

4)运行结果

JSP内置对象request对象
JSP内置对象request对象

注: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()方法设置数据

JSP内置对象request对象
error.jsp页面当中的代码为
JSP内置对象request对象

运行结果:

JSP内置对象request对象
语法: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);
代码:
JSP内置对象request对象
JSP内置对象request对象
我在写cookie时遇到了这个错误java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value用了很多办法去解决但都不行,最后发现是我在输入用户名的时候多加了一个空格,所以在练习的时候一定要认真,要不然找bug会耽误很长时间

1.4获取用户信息

代码块
JSP内置对象request对象

运行结果:

JSP内置对象request对象
JSP内置对象request对象

哈哈要开始比较了:
get和post请求方式
1、get请求时会把表单数据(请求参数)追加到请求路径后面,而不是放在请求体中。其中使用?连接请求路径和请求参数,使用=连接键和值使用&连接键值对。(先了解)
例如:localhost:8080/myweb/test?name=Jack&age=20
post请求时会把表单数据放在请求体中
2、get安全性非常低,它传输的数据在地址栏中就可以看到;而post安全性就很高,它传输数据比较隐私,在地址栏看不到
3、get传送的数据较小,不能大于2KB。post传送的数据量较大,一般默认不受限制。也就是你的电脑内存有多大,它就可以传输多少数据

相关文章: