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面试题的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

Java基础面试题,JavaWeb面试题

Javaweb笔面试题 ---

Java开发经典面试题:Javaweb相关

JavaWeb基础面试题

023JavaWeb面试题:JSP