jsp相关

 2023-09-05 阅读 60 评论 0

摘要:2019独角兽企业重金招聘Python工程师标准>>> 1、Servlet生命周期 1).创建Servlet实例。 2).Web容器调用Servlet的init()方法,对Servlet进行初始化。 3).Servlet初始化后,将一直存在于容器中,用于响应客户端请求。根据客

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 1 Servlet生命周期  

 1创建 Servlet 实例。     

2. Web 容器调用 Servlet  init() 方法,对Servlet 进行初始化。    

   3. Servlet 初始化后,将一直存在于容器中,用于响应客户端请求。根据客户端的请求方式通过Servletservice()方法去相应的doXXX()方法;   

   4. Web 容器销毁Servlet 时,调用 Servlet  destroy() 方法,通常在关闭Web容器之时销毁 Servlet

2JSPServlet是什么关系? 
答:其实这个问题在上面已经阐述过了,Servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容。JSP本质上是Servlet的一种简易形式,JSP会被服务器处理成一个类似于ServletJava程序,可以简化页面内容的生成。ServletJSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML分离开来。而JSP的情况是JavaHTML可以组合成一个扩展名为.jsp的文件。有人说,Servlet就是在Java中写HTML,而JSP就是在HTML中写Java代码,当然这个说法是很片面且不够准确的。JSP侧重于视图,Servlet更侧重于控制逻辑,在MVC架构模式中,JSP适合充当视图(view)而Servlet适合充当控制器(controller)。

3、转发(forward)和重定向(redirect)的区别? 
答:forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务器端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,因此从浏览器的地址栏中可以看到跳转后的链接地址,很明显redirect无法访问到服务器保护起来资源,但是可以从一个网站redirect到其他网站。forward更加高效,所以在满足需要时尽量使用forward(通过调用RequestDispatcher对象的forward()方法,该对象可以通过ServletRequest对象的getRequestDispatcher()方法获得),并且这样也有助于隐藏实际的链接;在有些情况下,比如需要访问一个其它服务器上的资源,则必须使用重定向(通过HttpServletResponse对象调用其sendRedirect()方法实现)。

4JSP中的静态包含和动态包含有什么区别? 
答:静态包含是通过JSPinclude指令包含页面,动态包含是通过JSP标准动作<jsp:forward>包含页面。静态包含是编译时包含,如果包含的页面不存在则会产生编译错误,而且两个页面的"contentType"属性应保持一致,因为两个页面会合二为一,只产生一个class文件,因此被包含页面发生的变动再包含它的页面更新前不会得到更新。动态包含是运行时包含,可以向被包含的页面传递参数,包含页面和被包含页面是独立的,会编译出两个class文件,如果被包含的页面不存在,不会产生编译错误,也不影响页面其他部分的执行。代码如下所示:

<%-- 静态包含 --%>
<%@ include file="..." %>
 
<%-- 动态包含 --%>
<jsp:include page="...">
    <jsp:param name="..." value="..." />
</jsp:include>

 

5、讲解JSP中的四种作用域。 
答:JSP中的四种作用域包括pagerequestsessionapplication,具体来说: 
- page代表与一个页面相关的对象和属性。 

- request代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web组件;需要在页面显示的临时数据可以置于此作用域。 

- session代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的session中。 

- application代表与整个Web应用程序相关的对象和属性,它实质上是跨越整个Web应用程序,包括多个页面、请求和会话的一个全局作用域。

6JSP有哪些内置对象?作用分别是什么? 
答:JSP9个内置对象: 
- request
:封装客户端的请求,其中包含来自GETPOST请求的参数; 
- response
:封装服务器对客户端的响应; 
- pageContext
:通过该对象可以获取其他对象; 
- session
:封装用户会话的对象; 
- application
:封装服务器运行环境的对象; 
- out
:输出服务器响应的输出流对象; 
- config
Web应用的配置对象; 
- page
JSP页面本身(相当于Java程序中的this); 
- exception
:封装页面抛出异常的对象。

 

转载于:https://my.oschina.net/lsl1991/blog/671023

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/1144.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息