美文网首页
jsp和servlet面试题及答案 2018-05-11

jsp和servlet面试题及答案 2018-05-11

作者: 辰321 | 来源:发表于2018-05-12 16:56 被阅读0次

    1 JSP的内置对象有哪些?

    request:request表示HttpServletRequest对象。取客户端表单域信息及cookie, header, 和session

    session:表示请求的javax.servlet.http.HttpSession对象,session一个用户或者多个用户共享同一变量

    application:表示javax.servlet..ServletContext对象,用来存放容器级的变量.

    response:表示httpServletResponse对象,对客户端响应返回文本,并用来写cookie

    out:向客户端打印HTML文本

    page:表示从该页面产生的一个servlet实例

    pagecontext:当前jsp页面的上下文环境,可以得到request,session,application等对象,在自定义标签中使用得多

    config:表示javax.servlet.Httpconfig对象,用于存取servlet的初始化参数

    exception:异常,当iserrorpage=true,产生一个exception对象, 基类是javax.servlet.jsp.JspException类

     2 Java web中有几种上下文

    request,session,application

    要么就是

    ServletContext, SctionContext, ServletAction\context

    3 PageContext和ServletContext有什么区别?Application,session,request的区别?

        ServletContext是容器上下文,指当前的一个web应用的上下文

        pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.

        application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。

        session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。

        request:请求作用域,就是客户端的一次请求.

    4Jsp取出的结果集很大,如何实现分页?

    5jsp页面之间对象传递的方法

        传递方法有:page,request,session,application,其中cookie是保存在客户端的,是用来解决HTTP无状态问题。

    6,getRequestDispatcher()与sendRedirect()的区别

    response.sendRedirect("/a.jsp"):sendRedirect表示重定向,是在浏览器端运行的,传递的参数只能在url里,或者放在session里,无法使用request.setAttribute()传值,只适合无值跳转

    request.getRequestDispatcher(/jsp路径或者servlet路径).forword(request,response),浏览器地址栏不变化,使用url中带parameter,session,request.setAttribute传值.

    7jsp有哪些动作?作用分别是什么?

    jsp:include在页面被请求的时候引入一个文件。

    includ两种方法的实现 :

    有两种实现方法,动态,静态。

    动态:用于包含动态页面,并且可以随时检查页面的变化,采用jsp:include动作可以实现

       <jsp:includepage="xxx.jsp"flush="true"/>

     静态,适合于包含静态页面,不检查页面的变化,采用include伪码实现

      <%@include file="***.html"%>

    jsp:useBean寻找或者实例化一个javaBean

    jsp:getProperty输出某个javaBean属性

    jsp:setProperty设置某个javaBean属性

    jsp:plugin根据浏览器类型为java插件生成标记

    jsp:forward把请求转发到一个新的页面

    8JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

    (1)都是java类,jsp是servlet的扩展,jsp用于页面表现层servlet用于逻辑控制

    (2)setvlet中没有内置对象,jsp中的内置对象都是必须通过HttpServletRequest对象HttpServletResponse对象及HttpServlet对象得到

    (3).jsp是servlet的一种简化,使用jsp只需要完成程序员需用输出到客户端的内容,jsp中的java脚本如何镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个类的service方法用于生成对客户端的响应

    9serverlet的生命周期及各阶段的作用

    (1)初始化阶段:调用init()方法

    (2)响应客户请求:调用service()方法

    (3)终止:调用destroy()方法

    10java web两种跳转方式分别是什么?有什么区别?

    <jsp:forward page="跳转页面地址"/> 

    response.redirect("/url")

    1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用<jsp param name="参数名" value="参数值"/>传递参数。2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

    11cookie和session区别?

    (1)cookie数据存放在客户的浏览器上,session数据放在服务器上

    (2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session

    (3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE

    (4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

    (5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

    12举例说明session的使用情景.

    session是用来保存用户信息,解决http协议无状态的问题,需要配合cookie使用

    13怎么设置session的超时问题?

    第一种方法:

    HttpSession session = request.getSession(true);

    session.setAttribute("user", user);

    session.setMaxInactiveInterval(30);

    注意:单位是秒,设置为0,-1表示session永不超时.

    request.getSession(true)意思是:如果session存在,则返回该session,否则创建一个新的session.

    request.getSession(false)意思是:如果session存在,则返回该session,否则返回null.

    第二种方法:

    在项目的web.xml配置文件中添加如下配置:

    <session-config>

        <session-timeout>30</session-timeout>

    </session-config>

    注意:单位是分,设置为0,-1表示永不超时.

    第三种方法:

    在tomcat的conf/web.xml配置文件中修改如下配置:

    <session-config>

        <session-timeout>30</session-timeout>

    </session-config>

    注意:单位是分,设置为0,-1表示永不超时.

    14Tomcate如何配置web工程?

    (1)、直接放到Webapps目录下

    (2)、在server.xml中指定

    15你在项目中用到了xml技术的哪些方面?如何实现的?

    用到了数据存贮,信息配置两方面;在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络

    传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参

    数都存贮在XML文件中。

    16J2EE是技术还是平台还是框架?

    是面向企业应用的平台

    17你用过哪些服务器?怎么指定内存的大小?

    第一种方法:

      Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:

      JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'

      需要把这个两个参数值调大。例如:

      JAVA_OPTS='-Xms256m -Xmx512m'

      表示初始化内存为256MB,可以使用的最大内存为512MB。

    第二种方法: 环境变量中设     变量名:JAVA_OPTS     变量值:-Xms512m   -Xmx512m

    第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:打开tomcatHome//bin//tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initial memory pool和Maximum memory pool.Initial memory pool这个就是初始化设置的内存的大小。Maximum memory pool这个是最大内存的大小 设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了

    jsp三大指令

    (1)page指令

    (2)include指令

    当多个JSP页面出现相同代码时,可以单独抽取出来这部分代码用include引入。

    (3)taglib指令

    配置引入Jsp的Jar

    JSP的三大常用标签详解-------include、forward、param

    相关文章

      网友评论

          本文标题:jsp和servlet面试题及答案 2018-05-11

          本文链接:https://www.haomeiwen.com/subject/whbfdftx.html