面试题整理:JavaWeb部分
2014-02-19 22:52
537 查看
1、Tomcat的优化经验
去掉对web.xml的监视,把jsp提前编辑成Servlet。(未知实现,等待解答,暂时答案将jsp访问一遍)
有富余物理内存的情况,加大tomcat使用的jvm的内存。
2、HTTP请求的GET与POST方式的区别
Get是向服务器发索取数据的一种请求,提交数据位于HTTP请求协议头中,最多只有2048字节(包括url+params);而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。
3、解释一下什么是servlet
Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet 接口的init,service 和destroy方法表达。
Web容器加载Servlet,Servlet被服务器实例化后,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的doXXX方法(doGet,doPost)方法。结束服务,web容器调用servlet的destroy()方法。
[b]SERVLET的基本架构:[/b]
SERVLET API中forward()与redirect()的区别:
forward 是服务器转发,浏览器地址栏不会显示出转发后的地址;forward比较高效,而且有助于隐藏实际地址。
eg: getServletContext().getRequest Dispatcher(“/servlet/secondservlet”).forward(request, response);
redirect 是重定向,浏览器会得到跳转地址,对新地址重新发送请求。eg: response.sendRedirect("http://www.baidu.com/");
Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request 的参数值
getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParametervalues(String name):获得有name指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP 地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
4、关于JSP的相关的资料
JSP的9个内置的对象:
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实例
exception 针对错误网页,未捕捉的例外
JSP的6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。 (sendRedirect)
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
JSP的常用指令
isErrorPage(设置一个error_page是否能使用Exception对象),isELIgnored(是否忽略表达式) 。eg: <%@page isELIgnored="true|false"%>
JSP动态包含和静态包含
<jsp:include page=included.jsp flush=true /> 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;
<%@include file=included.htm %> 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 。
JSP页面间对象传递的方法 :request,session,application,cookie等。
去掉对web.xml的监视,把jsp提前编辑成Servlet。(未知实现,等待解答,暂时答案将jsp访问一遍)
有富余物理内存的情况,加大tomcat使用的jvm的内存。
修改 \tomcat\bin\catalina.bat 文件: 在set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% 这行下面前面加上 JAVA_OPTS='-Xms512m -Xmx1024m' JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m" 其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小。 -XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小 。
2、HTTP请求的GET与POST方式的区别
Get是向服务器发索取数据的一种请求,提交数据位于HTTP请求协议头中,最多只有2048字节(包括url+params);而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。
3、解释一下什么是servlet
Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet 接口的init,service 和destroy方法表达。
Web容器加载Servlet,Servlet被服务器实例化后,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的doXXX方法(doGet,doPost)方法。结束服务,web容器调用servlet的destroy()方法。
[b]SERVLET的基本架构:[/b]
public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { } }
SERVLET API中forward()与redirect()的区别:
forward 是服务器转发,浏览器地址栏不会显示出转发后的地址;forward比较高效,而且有助于隐藏实际地址。
eg: getServletContext().getRequest Dispatcher(“/servlet/secondservlet”).forward(request, response);
redirect 是重定向,浏览器会得到跳转地址,对新地址重新发送请求。eg: response.sendRedirect("http://www.baidu.com/");
Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request 的参数值
getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParametervalues(String name):获得有name指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP 地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
4、关于JSP的相关的资料
JSP的9个内置的对象:
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实例
exception 针对错误网页,未捕捉的例外
JSP的6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。 (sendRedirect)
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
JSP的常用指令
isErrorPage(设置一个error_page是否能使用Exception对象),isELIgnored(是否忽略表达式) 。eg: <%@page isELIgnored="true|false"%>
JSP动态包含和静态包含
<jsp:include page=included.jsp flush=true /> 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;
<%@include file=included.htm %> 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 。
JSP页面间对象传递的方法 :request,session,application,cookie等。
相关文章推荐
- 开发测试岗部分面试题整理
- java面试题(4)-JavaWeb基础部分
- 关于安卓面试题的部分整理。
- java基础知识记录--EJB部分(摘自张孝祥整理java面试题)
- web前端面试题HTML+CSS第一弹,个人整理部分面试题汇总
- java基础知识记录--XML部分(摘自张孝祥整理java面试题)
- 张孝祥整理的部分笔试面试题
- web前端面试题JavaScript第一弹,个人整理部分面试题汇总
- java基础知识记录--Java web部分(摘自张孝祥整理java面试题)
- 前端面试题整理-------HTML/CSS部分----小知识点
- 【PHP】面试题整理PHP部分
- JavaWeb部分面试题
- JavaWeb部分面试题
- java基础知识记录--Java web部分(摘自张孝祥整理java面试题)
- 部分面试题整理
- 整理的一套php面试题(附有部分题的答案)
- 阿里部分面试题整理
- 最近面试前端面试题整理(css部分)
- 面试题四--javaWeb部分
- 面试题整理:sql部分