JSP知识点总结-面试分享

1、JSP中9种内置对象:
(1)out对象:负责管理对客户端的请求信息
(2)request对象:负责得到客户端的请求信息
(3)response对象:负责向客户端发出响应
(4)session对象:负责保存同一客户端一次会话过程中的一些信息
(5)application对象:表示整个应用环境的信息
(6)exception对象:表示页面上发生的异常,可以通过它获得页面异常信息
(7)page对象:表示的是当前JSP页面本身,就像Java定义的this一样
(8)pageContext对象:表示的是此JSP的上下文
(9)config对象:表示此JSP的ServletConfig

2、response.sendRedirect与两种跳转方式的区别?
(1)从浏览器的地址显示上来看:
  forward方法属于服务器端去请求资源,服务器直接访问目标地址,并对该目标地址的响应内容进行读取,再把读取的内容发给浏览器,因此此时客户端浏览器的地址不变。
  而redirect是告诉客户端,使浏览器知道去请求哪一个地址,相当于客户端重新请求一遍,所以地址栏会改变。
(2)从数据共享上来看:
  forward转发的页,以及转发到的目标页能够共享request里面的数据,而redirect转发的页以及转发到的目标页不能共享request里面的数据。
(3)从功能上来看:
  redirect能够重定向到当前应用程序的其他资源,而且能够重定向到同一个站点上的其他应用程序中的资源。
  forward方法只能在同一个web应用程序内的资源之间转发请求,则可以理解为服务器内部的一种操作。
(4)从效率上来看:
forward效率较高,因为跳转仅仅发生在服务器端。
redirect相对较低,因为类似于再进行一次请求。

3、Cookie操作:cookie是一种常见的在页面之间传递数据的过程。Cookie是一个小的文本数据,由服务器端生成,发送给客户端浏览器,客户端浏览器如果设置为启用cookie,则会将这个小文本数据保存到某个目录下的文本文件内,下次登录同一网站,客户端浏览器自动将cookie读入。

4、定义JavaBean有如下两种方法:
(1)直接在JSP中实例化JavaBean:这是在JSP中使用Java代码,不提倡
<%
  Student student=new Student();
  //下面就可以使用实例化的student
%>
(2)使用标签:

5、设置JavaBean属性和获取JavaBean属性。
6、JavaBean的scope范围:
(1)page:表示JavaBean对象的作用范围只是在其实例化的页面上,只有在当前页面可用,在其他页面不可用。
(2)request:表示JavaBean实例除了可以在当前页面上可用之外,还可以在通过forward(3)session:表示JavaBean对象可以存在session中,该对象可以被同一个用户一次会话的所有页面认识到。(要保证是同一个客户端,session才可以的)
(4)application:表示JavaBean对象可以存在application中,该对象可以被所有用户的所有页面认识到。

7、配置servlet,在web.xml中配置:

welcomeservlet
servlets.WelcomeServlet


welcomeservlet
/servlets/WelcomeServlet
上面的不一定非要是类路径,也可以是其他的。

8、在不关闭服务器的情况下,若干次访问只创建一个对象,只创建一个对象,很多用户访问的时候,会不会造成等待?
解:不会的,因为Servlet采用的是多线程机制,每一次请求,系统就会分配一个线程来运行doGet函数,但是这样也会带来安全问题,一般说来,不要在Servlet内定义成员变量,除非这些成员变量是所有的用户公用的。

9、Servlet中获取对象的方法:
(1)获取out对象:PrintWriter out=response.getWriter()
(2)获取request和response对象:
(3)获得session对象:HttpSession session=request.getSession()
(4)获得application对象:ServletContext application=this.getServletContext()

10、在Servlet中设置和读取参数:
(1)设置参数:
设置全局参数:所有的Servlet都可以访问该参数

  参数名   参数值

设置局部参数:只有本Servlet可以访问该参数

  Servlet名称
  Servlet类路径
  
  参数名

  参数值   

(2)获取参数:
获取全局参数:
ServletContext application=this.getServletContext(); application.getInitParameter(“参数名称”);
获取局部参数:
this.getInitParameter(“参数名称”);

11、Servlet内实现跳转:
(1)重定向(对应JSP内置对象中的sendRedirect)
response.sendRedirect(“URL地址”);
(2)服务器内跳转(对应于JSP中的forward标签):
ServletContext application=this.getServletContext();
RequestDispatcher rd=application.getRequestDispatcher(“URL地址”);
rd.forward(request,response);
一般情况下,当不需要传递参数或者需要跳转到另一个服务器页面时使用重定向,当需要从A页面跳转到B页面时,存在着大量的暂态数据(即在B页面显示过后就可以不用的数据),为了节省内存,可以使用forward,可以避免把很多内容存储在session中。

12、JSTL声明的核心标签库:
<%@ taglib prefix=”c” uri=”----想了解更多的jsp相关干货教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/jspttutorial/112331.html

(0)
上一篇 2020年5月8日
下一篇 2020年5月8日

精彩推荐