JavaWeb面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb面试题相关的知识,希望对你有一定的参考价值。
1、Tomcat的优化经验
答:去掉对web.xml的监视,把JSP提前编辑成Servlet;有富余物理内存的情况下,加大Tomcat使用的JVM内存。
2、什么是Servlet?
答:Servlet运行在Web服务器端的Java应用程序,可以生成动态的Web页面,属于客户端和服务器响应的中间层。
3、Servlet的生命周期
答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由java.servlet.servlet接口中的init、service、destroy方法表达。
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,
根据请求的不同调用不同的do**()方法。结束服务,web容器调用servlet的destroy()方法。
4、Servlet的基本架构
答:
public class ServletName extends HttpServlet { //初始化方法 public void init() { …… } //GET请求处理的方法 public void doGet(HttpServletRequest request,HttpServletResponse response) { …… } //POST请求处理的方法 public void doPost(HttpServletRequest request,HttpServletResponse response) { …… } //结束服务的方法 public void destroy() { …… } }
5、Servlet API中forware()和redirect()的区别?
答:
a、浏览器显示
重定向会改变URL地址,请求转发不会改变URL地址。
b、资源共享
重定向可以资源共享,请求转发不可以。
c、功能
重定向可以用URL绝对路径访问其他Web服务器的资源,而请求转发只能在一个Web应用程序内进行资源转发,即服务器内部的一种操作。
d、效率
重定向效率低,相当于再一次请求;请求转发效率相对较高,跳转仅发生在服务器端。
6、什么情况下调用doGet()和doPost()?
答:默认情况是调用doGet()方法,JSP页面中的Form表单的method属性设置为post的时候,调用的为doPost()方法。
7、request.getParameter()和request.getAttribute()的区别?
答:
a、request.getParameter()获取的类型是String;
request.getAttribute()获取的类型是Object
b、request.getPrameter()获取的是POST/GET传递的参数值和URL中的参数;
request.getAttribute()获取的是对象容器中的数据值/对象
c、request.setAttribute()和request.getAttribute()可以发送、接收对象;
request.getParamter()只能接收字符串,官方不开放request.setParamter()(也就是没有这个方法)
setAttribute()和getAttribute()的传参原理:
setAttribute()是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另外一个页面时,
应用服务器会把这块内存拷贝到另一个页面所对应的那块内存中。这个就可以通过getAttribute()获取到相应的参数值或者对象。
8、JSP有哪些内置对象?作用分别是什么?
答:JSP一共有9个内置对象:
request:负责得到客户端请求的信息,对应类型:javax.servlet.http.HttpServletRequest
response:负责向客户端发出响应,对应类型:javax.servlet.http.HttpServletResponse
session:负责保存同一客户端一次会话过程中的一些信息,对应类型:javax.servlet.http.httpsession
out:负责管理对客户端的输出,对应类型:javax.serlvet.jsp.jspwriter
application:表示整个应用环境的信息,对应类型:javax.servlet.servletcontext
config:表示ServletConfig,对应类型:javax.servlet.servletconfig
exception:表示页面中发生的异常,可以通过它获得页面异常信息,对应类型:java.lang.exception
pagecontext:表示这个JSP页面上下文,对应类型:javax.servlet.jsp.pagecontext
page:表示当前JSP页面本身。
9、JSP有哪些动作?作用分别是什么?
答:JSP一共有以下6中基本动作
JSP:include (当页面被请求的时候引入一个文件)
JSP:forward (将请求转到另一个页面)
JSP:useBean (获得JavaBean的一个实例)
JSP:setProperty (设置JavaBean的属性)
JSP:getProperty (获得JavaBean的属性)
JSP:plugin (根据浏览器类型为Java插件生成object或者embed两种标记)
10、JSP常用指令有哪些?
page、include、taglib
以上是关于JavaWeb面试题的主要内容,如果未能解决你的问题,请参考以下文章