内置对象(out,resquest,response)及对话session之间的关系
2017-10-28 10:46
232 查看
回顾:
<%! 声明变量 %>
<%--jsp注释--%> 浏览器查看源代码不可见
<!--html注释--> 浏览器查看源代码可见
<%= 能算出一个结果的表达式(如待返回值的方法,具体的变量)%>
<% java代码 %> (小脚本)
*jsp页面在执行时,被翻译成一个类,编译执行,结果以html方式返回。
问题:
<%! %>中的变量是全局变量(类的成员变量:只要对象在,它就在)
<% %>中的变量是方法中的局部变量(方法执行完就销毁)
jsp页面被访问时,会被tomcat容器自动转换成java类,并编译,然后自动构建对象并运行里面的方法。
此对象,只要tomcat不关闭,它就一直在那里。
内置对象:已经被容器创建好的对象,直接可以用。
1、out:用于输出(对象用于在web游览器内输出信息)----print(输出各种类型数据)
2、request:可以封装用户请求(代表了客户端的请求信息,主要用于通过HTTP传送到服务器的数据)
方法:(1).String getParameter(String name):根据页面表单组件名获取提交的数据,或者是URL地址栏中变量
(2).String [] getParameterValues(String name):根据页面表单组件名获取组件对应多个值的用户请求(返回是数组)//或者地址栏中的数据
(3).void setCharacterEncoding(String character):指定每个请求的编码,在调用request.getParameter之前设定,用于解决用户乱码问题
(4).request.getRequestDispatcher(String path)返回一个java.servlet.requestDispatcher对象,该对象的forward方法用于转发请求
(5)setAttribute(),//getAttribute()方法,因为request本身是一个作用域对象,所以可以存放数据,也可以取数据
(6)在servlet类中, Printwriter out =request.getWriter()方法用于得到out对象的地址
Httpsession session=request.getsession()方法用于得到session会话的地址
ServletContext application=getServletContext();
application.setAttribute()//getAttribute(),四大作用域都有这个方法,用于存放数据,读取数据
表单提交方法(method):
post:地址栏中不会暴露请求的数据
get:会
3、(重新定向)response(作答,回应,响应):封装服务器的响应,发给客户端。
response.sendRedirect("success.jsp");//重新定向另一个页面
response.setCharacterEncoding("utf-8");//编码方式
response.setContentType("text/html;charset=utf-8");//发回客户的内容类型,客户端直接编译,提高效率
重新定向:意味着让客户端重新发一个请求给服务器。
(客户端访问两次服务器,地址栏有变化)
(和其他资源不相关,新页面中无法获取请求的数据)
请求转发:是服务器自己访问另一个服务器资源,客户端并不知情。
(客户端访问一次服务器,地址栏没有变化)
request.getRequestDispatcher(String url);
request.getRequestDispatcher("success.jsp").forward(request, response);
//获取了通向另一个页面的请求转发器,并调用forward把对象转给它
区别:reponse是重新定向,但缺点是无法提交数据给另一个界面,常与session对象连用,新页面中可获取请求的数据,request请求转发
跳转与提交
跳转:一个页面跳向另一个界面,不进行数据提交
提交:必须发生在表单里,不光提交,还把数据提交给另一个界面
4、一个会话就是浏览器与服务器之间的一次通话,
它包含浏览器与服务器之间的多次请求、响应过程。
session对象用来存储有关用户会话的所有信息。
session对象是一个集合。
每一个客户端和服务进行会话,服务器都会在自己的内存中,形成一个session对象。
客户的各自的session之间互不相干。(类似群聊中的小窗口)
存东西进去:session.setAttribute("name", "admin");
去东西出来:String name = (String) session.getAttribute("name");
例子:
dolog.jsp
<%
String name = request.getParameter("userName");
String pwd = request.getParameter("pwd");
if(name.equals("admin")&&pwd.equals("admin"))
{
session.setAttribute("uname", name);
response.sendRedirect("success.jsp");
// request.getRequestDispatcher("success.jsp")
// .forward(request, response); //获取了通向另一个页面的请求转发器
}else
{
out.print("error");
response.sendRedirect("error.jsp");
}
%>
success.jsp
<%
//从session里面把数据取出来
String s = (String)session.getAttribute("uname");
out.print(s+"欢迎你!");
%>
这里有重要信息 <br>
<%! 声明变量 %>
<%--jsp注释--%> 浏览器查看源代码不可见
<!--html注释--> 浏览器查看源代码可见
<%= 能算出一个结果的表达式(如待返回值的方法,具体的变量)%>
<% java代码 %> (小脚本)
*jsp页面在执行时,被翻译成一个类,编译执行,结果以html方式返回。
问题:
<%! %>中的变量是全局变量(类的成员变量:只要对象在,它就在)
<% %>中的变量是方法中的局部变量(方法执行完就销毁)
jsp页面被访问时,会被tomcat容器自动转换成java类,并编译,然后自动构建对象并运行里面的方法。
此对象,只要tomcat不关闭,它就一直在那里。
内置对象:已经被容器创建好的对象,直接可以用。
1、out:用于输出(对象用于在web游览器内输出信息)----print(输出各种类型数据)
2、request:可以封装用户请求(代表了客户端的请求信息,主要用于通过HTTP传送到服务器的数据)
方法:(1).String getParameter(String name):根据页面表单组件名获取提交的数据,或者是URL地址栏中变量
(2).String [] getParameterValues(String name):根据页面表单组件名获取组件对应多个值的用户请求(返回是数组)//或者地址栏中的数据
(3).void setCharacterEncoding(String character):指定每个请求的编码,在调用request.getParameter之前设定,用于解决用户乱码问题
(4).request.getRequestDispatcher(String path)返回一个java.servlet.requestDispatcher对象,该对象的forward方法用于转发请求
(5)setAttribute(),//getAttribute()方法,因为request本身是一个作用域对象,所以可以存放数据,也可以取数据
(6)在servlet类中, Printwriter out =request.getWriter()方法用于得到out对象的地址
Httpsession session=request.getsession()方法用于得到session会话的地址
ServletContext application=getServletContext();
application.setAttribute()//getAttribute(),四大作用域都有这个方法,用于存放数据,读取数据
表单提交方法(method):
post:地址栏中不会暴露请求的数据
get:会
3、(重新定向)response(作答,回应,响应):封装服务器的响应,发给客户端。
response.sendRedirect("success.jsp");//重新定向另一个页面
response.setCharacterEncoding("utf-8");//编码方式
response.setContentType("text/html;charset=utf-8");//发回客户的内容类型,客户端直接编译,提高效率
重新定向:意味着让客户端重新发一个请求给服务器。
(客户端访问两次服务器,地址栏有变化)
(和其他资源不相关,新页面中无法获取请求的数据)
请求转发:是服务器自己访问另一个服务器资源,客户端并不知情。
(客户端访问一次服务器,地址栏没有变化)
request.getRequestDispatcher(String url);
request.getRequestDispatcher("success.jsp").forward(request, response);
//获取了通向另一个页面的请求转发器,并调用forward把对象转给它
区别:reponse是重新定向,但缺点是无法提交数据给另一个界面,常与session对象连用,新页面中可获取请求的数据,request请求转发
跳转与提交
跳转:一个页面跳向另一个界面,不进行数据提交
提交:必须发生在表单里,不光提交,还把数据提交给另一个界面
4、一个会话就是浏览器与服务器之间的一次通话,
它包含浏览器与服务器之间的多次请求、响应过程。
session对象用来存储有关用户会话的所有信息。
session对象是一个集合。
每一个客户端和服务进行会话,服务器都会在自己的内存中,形成一个session对象。
客户的各自的session之间互不相干。(类似群聊中的小窗口)
存东西进去:session.setAttribute("name", "admin");
去东西出来:String name = (String) session.getAttribute("name");
例子:
dolog.jsp
<%
String name = request.getParameter("userName");
String pwd = request.getParameter("pwd");
if(name.equals("admin")&&pwd.equals("admin"))
{
session.setAttribute("uname", name);
response.sendRedirect("success.jsp");
// request.getRequestDispatcher("success.jsp")
// .forward(request, response); //获取了通向另一个页面的请求转发器
}else
{
out.print("error");
response.sendRedirect("error.jsp");
}
%>
success.jsp
<%
//从session里面把数据取出来
String s = (String)session.getAttribute("uname");
out.print(s+"欢迎你!");
%>
这里有重要信息 <br>
相关文章推荐
- jsp九大内置对象:request、response、session、application、out、page、pageContext、config、exception
- JSP 内置对象(request response session application out pageContext)
- JSP九大内置对象(Request,Response,Out,Session,Application,Cookie,Config,Page,Exception)
- jsp内置对象out、request、response、session、application五大常用对象以及Page、pageContext、exception、config
- JSP九大内置对象---Request,Response,Out,Session,Application,Cookie,Config,Page,Exception
- JSP内置对象--pageContent,request,response,session,application,config,out,page,exception
- jsp九大内置对象中 out 和 response.getWriter的区别
- JSP内置对象response与session 基础知识复习
- 学习JavaScript 的必备 (一),让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑。(希望能置为推荐篇,为更多的js初学者关注)
- jsp 内置对象response,request,session 以及 cookie 对象的综合例子 和 include指令
- JSP(1)jsp简介、文件结构、加载过程、常用内置对象(out request Response等)
- 学习JavaScript 的必备 (一),让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑
- 学习JavaScript 的必备 (一),让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑。(希望能置为推荐篇,为更多的js初学者关注)
- JSP内置对象之out request response
- JSP内置对象之------response、session、application
- 浪潮优派培训笔记:JSP的9大内置对象之(二).与Input/Output有关的内置对象:out、request、response
- jsp request、response、session、out、page、application、exception、pageContext、config对象详解
- 让您对js的 function, javascript内置对象,this概念及之间的关系不再迷惑
- JSP内置对象:request, reponse, out, session, application, config, pagecontext, page, exception
- 对js的 function.javascript内置对象,this概念及之间的关系不再迷惑