JavaEE面试题库分类及答案之二

24、使用Cookie对象
答:
写入:
Cookie c=new Cookie(“maomao”,”xixi”);
c.setMaxAge(100);//单位秒
c.setPath(“/”);
response.addCookie(c);

读取:

Cookie cookies []=request.getCookies();
if(cookies!=null)
{
for(int a=0;a<cookies.length;a++)
{
Cookie c=cookies[a];
if(……)
{
……
}
}
}

25、什么是servlet:
在web容器中运行的服务器端JAVA程序,主要用于响应HTTP请求。Servlet一般用于MVC中的控制器部分。
26、什么是servlet容器:
用来管理servlet生命周期的应用程序如(tomcat)。
27、什么是JSP页面
java server page 是servlet的扩展,强调web页面表达,编译后是一个类servlet。
28、JSP标签
动作标签:jsp:include jsp:forword jsp:usebean jsp:set/get Property
指令标签:<%@page……%> <%@include…..%> <%@taglib…..%>
29 servlet中如何(第5、6章)
a、从HTML表单中获得参数
request.getParameterNames();enumer;
request.getParameter(); String
b、如何获得请求头部的信息
Enumeration enumer=request.getHeaderNames();
While(enumer. HasMoreElements())
{
String header= enumer.next();
String result=request.getHeader(header);
Out.print(result);
}
c、如何获得客户cookie的信息
request.getCookies();array[]
d、如何设置response的头部信息
response.setHeader();
e、如何设置响应的content type
response.setContentType(“text/html charset=utf-8”);
f、如何获得I/O流、text流、二进制流
g、如何从当前的servlet重定向到其他的URL
response.sendRedirect(“url”)
request.get RequstDispatcher(“url”) .forword(request,response);
h如何向客户端写cookie
Cookie cookie=new Cookie(“object”,”jklj”);
cookie.setMaxAge(时间);
cookie.sePath(“/”);
response.addCookie(cookie);
30、描述servlet的生命周期谁来控制servlet的生命周期,servlet生命周期在J2EE规范中是如何来定义
(看ppt2)
服务器实例化一个servlet对象,容器运行其init()方法,请求到达时运行其service方法,service方法根据请求的类型调用(doGet,doPost)方法,当服务器决定将实例销毁时调用其destory方法。
PPT2中的servlet的生命周期:
(1)init 仅在servlet首次载入时执行一次。不是每次请求都要调用。
(2)service 在新线程中由服务器为每个请求而调用。发送到doGet,doPost等。不要覆盖这个方法!
(3)doGet, doPost, doXxx 处理GET, POST, 等请求。覆盖这些方法以提供期望的行为。
(4) destroy 在服务器删除servlet的实例时调用。不是每次请求后都调用。
31、如何创建Request Dispatcher对象,如何将请求转发给其它的web资源(包含其它的web资源),描述如何利用request来存状态,以及与其它保存状态方法有什么区别
RequstDispatcher rd=request.get RequstDispatcher(“url”)
rd.forword(request,response);
request.setAttribute(“object”,”内容”);
request.setAttribute(“rs”,a);
request.get RequstDispatcher(“/s84.jsp”).forware(request,response);
一旦产生响应,request的生命周期就结束了
32、如何在web.xml中配置servlet定义(强调再强调)

name
包.类

映射

name
/servlet/SSSSS

33、获得ServletConfig对象
ServletConfig sc=getServletConfig();
34、如何获得servletContext对象
servletContext sc=getservletContext();
35、通过超链接来访问servlet

POST

调用servlet时采用了doPost、doGet、doForm、doHref中的哪个方法
doGet方法
36、说明如下的web的资源应该放在web容器中的什么目录下,静态页面JSP、servlet class、web.xml、Tag libraries、JAR File、java class以及需要保护的资源文件

37、描述request session application的区别,创建监听器类来监听每个scope的生命周期
生命周期不同
request产生响应时生命周期结束,
session的有效期是在web.xml文件当中设置,单位为分钟。session的生命周期从会话开始而开始,会话结束而结束。结束会话的方式有两种:超时和强制退出。
application的生命周期从服务器启动开始,服务器关闭或者服务器重启结束。
38、JSP的内置对象及方法。(与前面题相同)
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例
39、JSP的常用指令(见ppt11)
<%@page language=”java” contenType=”text/html;charset=gb2312” session=”true” buffer=”64kb” autoFlush=”true” isThreadSafe=”true” info=”text” errorPage=”error.jsp” isErrorPage=”true” isELIgnored=”true” pageEncoding=”gb2312” import=”java.sql.*”%>
isErrorPage(是否能使用Exception对象),isELIgnored(是否忽略表达式)
<%@include file=”filename”%>
<%@taglib prefix=”c”uri=”http://……”%>
PPT11中的内容:
(一)page指令的用途
• 为根据JSP页面生成的servlet指定高层的信息
• 能够控制
– 导入哪些类 – 该servlet扩展哪个类 – 产生哪种MIME类型 – 如何处理多线程
– servlet是否共享会话 – 输出缓冲区的大小的行为 – 由哪个页面来处理意外的错误
(二)import属性
• 格式
– <%@ page import=”package.class” %> – <%@ page import=”package.class1,…,package.classN” %>
• 目的
– 在servlet定义的顶部生成导入语句
• 注意
– 尽管JSP页面几乎可以放在服务器的任何位置,但由
JSP使用的类必须放在常规的servlet目录中
– 例如:
…/WEB-INF/classes或
…/WEB-INF/classes/directoryMatchingPackage
• 由JSP使用的实用工具类一定要使用包!
(三)contentType和pageEncoding属性
• 格式
– <%@ page contentType=”MIME-Type” %> – <%@ page contentType=”MIME-Type; charset=Character-Set” %>
– <%@ page pageEncoding=”Character-Set” %>
• 目的
– 指定由JSP页面生成的servlet生成的页面的MIME类型
• 注意
– 属性值不能在请求期间计算得出
– 常见MIME类型的表格,参见介绍响应报头的章节。
(四)session属性
• 格式
– <%@ page session=”true” %> <%– Default –%>
– <%@ page session=”false” %>
• 目的
– 指定页面不是会话的一部分
• 注意
– 默认地,它是属于会话。
– 如果网站的流量较大,可以节省服务器端的内存。
– 要想真正起到作用,所有的相关网页都必须这样做。
(五)import属性
– 改变由JSP页面生成的servlet导入的类
• 实用工具类一定要使用包!
• contentType属性
– 指定结果的MIME类型
– 不能根据条件来使用
• 要想条件性地设置MIME类型,请使用
<% response.setContentType(…); %>
• errorPage和isErrorPage属性
– 指定“紧急情况”错误处理页面。
• isThreadSafe属性
– 关闭并行访问
– 请使用显式的同步,而非这个属性。
40、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是”类servlet”。
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
41、四种会话跟踪技术
会话作用域ServletsJSP 页面描述
page是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面
request是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域

43.重定向和请求分派区别

重定向 请求分派
Response.sendRedirect request.getRequestDispatcher(“/04172.jsp”).forward(request, response);
这个东西可以跳转到外网 这个东西只能在本项目当中跳来跳去
这个东西跳转之后地址栏发生改变 跳转之后还是显示原来地址
不能跳转到WEB-INF文件夹当中 可以啊
不支持 支持:
我们将一个对象放在request共享范围当中(request.setAttribute(“sdfdsf”,”sdfds”))
通过请求转发,是可以将这个对象发送到目标地址的,其实就是下一页,一般是个JSP

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页