jsp内置对象总结
jsp内置对象
request:取得客户端数据与系统的信息。
response:响应客户端信息。
application:记录与处理上线者共享的数据。
session:记录与处理上线者的个别数据。
out:控制数据输出的操作。
⼀、request对象
//常⽤⽅法⼀getSparameter
//该⽅法⽤于获取传递的参数
/
/返回的是Object,所以很多时候需要进⾏强制转换
getParameter⽅法⽤于获取传递参数的值,返回的是⼀个对象,值得传递可以包括表单的get和post提交数据、url传参等,在传递参数的时候,这⾥要注意⼀个编码格式问题和注意get和post⽅法提交数据的区别。
编码格式问题
⾸先,为防⽌出现中⽂乱码,所以,在接受参数的时候需要注意将接受的参数转换为utf-8格式编码,转码的⽅法如下:
//设置编码格式问题的⽅法
request.setCharacterEncoding("utf-8");
以上的⽅法只能解决get和post传递参数的中⽂乱码问题,对于URL传参的乱码问题,要进⾏⼆次编码和解码的操作,具体代码如下:
//1、⾸先要在传参的那个地⽅进⾏两次编码处理
String result = de("要编码的字符串","utf-8");
result = de(result,"utf-8");
//2、在接受除,进⾏解码操作
String result = java.URLDecoder.Parameter("参数名字")),"utf-8");
表单中post和get提交数据的区别
⾸先,get的提交⽅式数据会在url中显⽰出来,所以相对来说不安全,同时,get的提交⽅法所传输的数据参数⼤⼩较⼩;
post提交数据不会再url中显⽰出来,同时可提交的数据⼤⼩可达2m;但是,get提交数据的速度⽐post更⾼效更快;
平时来说,⼀般建议使⽤post⽅法提交数据。
⼆、response对象
response常⽤⽅法
重定向:
response.sendRedirect(URL);
//该⽅法⽤于跳转到另⼀个页⾯⽤,URL是页⾯的url,可以是相对路径
三、 session对象
session对象:是⼀个jsp内置对象,它在第⼀个jsp被装载时⾃动创建,完成会话期管理。从⼀个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离 开这个服务器结束(或者超时),被称为⼀个会话。当⼀个客户访问⼀个服务器时,可能会在这个服务器的⼏个页⾯之间切换,服务器应当通过某种办法知道这是⼀个客户,就需要创建session对象。
http是⽆状态的连接协议,需要使⽤session来存放⽤户每次的登陆信息
//session⽅法的⽤法
session.setAttribute(String key,Object ob);//该⽅法是⽤于将某个值传递给Attribute(String key);//获取session对象中对应key索引的数据
3.1 session对象⽅法
3.2 使⽤session对象(登录功能)
1 登录表单
<form action="do_login.jsp"method="post">
userName:<input type="text"name="userName"><br/>
password:<input type="password"name="password"><br/>
<input type="submit"value="submit">
<input type="reset"value="reset">
</form>
2 登陆逻辑处理界⾯,使⽤getParameter获取到⽤户名和密码:
String Parameter("userName");
String Parameter("password");
3 对⽤户名和密码进⾏判断:
if(userName!=null&&password!=null){
session.setAttribute("userName",userName);
response.setHeader("refresh","2;URL=welcome.jsp");
}
4 在欢迎界⾯使⽤getAttribute获取当前的⽤户名:
<%Attribute("userName")!=null)
{%>
getAttribute⽅法是使⽤指定的key获取session中的value值。获取到的是⼀个object对象
在使⽤的时候需要根据具体的类型进⾏类型转换。
这⾥取出的是⼀个字符串,直接调⽤会使⽤他的toString⽅法,因此不⽤进⾏转换
欢迎 <%=Attribute("userName") %>
<a href="logout.jsp">注销</a>
<%}else{%>
请先登陆
<a href="login.jsp">登陆</a>
<% } %>
5 判断session对象事都是新创建
<%if (session.isNew()){%>
<br/>
<br/>
欢迎新⽤户
<%}else{%>
<br/>
<br/>
欢迎⽼⽤户
<%}%>
6 在登出界⾯⾥清除session对象信息,并跳转到欢迎界⾯中去:
session.invalidate();//清除掉session对象
response.setHeader("refresh","2;URL=welcome.jsp");
invalidate 销毁session对象
setHeader(Stringname ,String value) 设置HTTP应答报⽂的⾸部字段和值以及页⾯的⾃动刷新
jsp创建四、application总结
其实,application⽤法其实是和session⼀样的,主要的⽅法还是getAttrubute和setAttribute两个⽅法,具体可参考session代码。application和session的区别其实就是⽣命周期的不同⽽已。
可以使⽤application对象来实现页⾯访问次数记录的功能:
<%
Object Attribute("counter");
if(obj==null){
application.setAttribute("counter",new Integer(1));
out.println("孟蓝蓝对该页⾯被访问了1次<br/>");
}else{
int countValue=new String());
countValue++;
out.println("孟蓝蓝对该页⾯访问了"+countValue+"次<br/>");
application.setAttribute("counter",countValue);//java会⾃动装箱
}
%>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。