回顾:
<%! 声明变量 %>
<%--jsp注释--%> 浏览器查看源代码不可见
<!--html注释--> 浏览器查看源代码可见
<%= 能算出一个结果的表达式(如待返回值的方法,具体的变量)%>
<% java代码 %> (小脚本)
<%! 声明变量 %>
<%--jsp注释--%> 浏览器查看源代码不可见
<!--html注释--> 浏览器查看源代码可见
<%= 能算出一个结果的表达式(如待返回值的方法,具体的变量)%>
<% java代码 %> (小脚本)
*jsp页面在执行时,被翻译成一个类,编译执行,结果以html方式返回。
问题:
<%! %>中的变量是全局变量(类的成员变量:只要对象在,它就在)
<% %>中的变量是方法中的局部变量(方法执行完就销毁)
jsp页面被访问时,会被tomcat容器自动转换成java类,并编译,然后自动构建对象并运行里面的方法。
此对象,只要tomcat不关闭,它就一直在那里。
<%! %>中的变量是全局变量(类的成员变量:只要对象在,它就在)
<% %>中的变量是方法中的局部变量(方法执行完就销毁)
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方法用于转发请求
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:会
表单提交方法(method):
post:地址栏中不会暴露请求的数据
get:会
3、(重新定向)response(作答,回应,响应):封装服务器的响应,发给客户端。
response.sendRedirect("success.jsp");//重新定向另一个页面
response.setCharacterEncoding("utf-8");//编码方式
response.setContentType("text/html;charset=utf-8");//发回客户的内容类型,客户端直接编译,提高效率
response.sendRedirect("success.jsp");//重新定向另一个页面
response.setCharacterEncoding("utf-8");//编码方式
response.setContentType("text/html;charset=utf-8");//发回客户的内容类型,客户端直接编译,提高效率
重新定向:意味着让客户端重新发一个请求给服务器。
(客户端访问两次服务器,地址栏有变化)
(和其他资源不相关,新页面中无法获取请求的数据)
请求转发:是服务器自己访问另一个服务器资源,客户端并不知情。
(客户端访问一次服务器,地址栏没有变化)
request.getRequestDispatcher(String url);
(客户端访问两次服务器,地址栏有变化)
(和其他资源不相关,新页面中无法获取请求的数据)
请求转发:是服务器自己访问另一个服务器资源,客户端并不知情。
(客户端访问一次服务器,地址栏没有变化)
request.getRequestDispatcher(String url);
request.getRequestDispatcher("success.jsp").forward(request, response);
//获取了通向另一个页面的请求转发器,并调用forward把对象转给它
区别:reponse是重新定向,但缺点是无法提交数据给另一个界面,常与session对象连用,新页面中可获取请求的数据,request请求转发
跳转与提交
跳转:一个页面跳向另一个界面,不进行数据提交
提交:必须发生在表单里,不光提交,还把数据提交给另一个界面
//获取了通向另一个页面的请求转发器,并调用forward把对象转给它
区别:reponse是重新定向,但缺点是无法提交数据给另一个界面,常与session对象连用,新页面中可获取请求的数据,request请求转发
跳转与提交
跳转:一个页面跳向另一个界面,不进行数据提交
提交:必须发生在表单里,不光提交,还把数据提交给另一个界面
4、一个会话就是浏览器与服务器之间的一次通话,
它包含浏览器与服务器之间的多次请求、响应过程。
session对象用来存储有关用户会话的所有信息。
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>
去东西出来: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的基本概念及其内置对象的功能与使用方法,包括out对象的输出功能、request对象的数据获取及设置字符编码等操作,同时对比了response重定向与request转发的区别。
及对话session之间的关系&spm=1001.2101.3001.5002&articleId=78373832&d=1&t=3&u=6388f4941c2e475eb91374babdc5d1ae)
683

被折叠的 条评论
为什么被折叠?



