java面试题面试jspservlet内容_第1页
java面试题面试jspservlet内容_第2页
java面试题面试jspservlet内容_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.jsp有哪些内置对象?作用分别是什么?一共有九个内置对象:PageContext javax.servlet.jsp.PageContextrequest javas.servlet.http.HttpServletRequestresponse javax.servlet.http.HttpServletResponsesession javax.servlet.http.HttpSessionapplication javax.servlet.ServletContext-->this.getServletContext()config javax.servlet.ServletConfigconfig javax.servlet.ServletConfigexception javax.lang.Throwablepage java.lang.Objectout javax.servlet.jsp.jspWriter作用:pageContext 表示页容器->EL.标签,上传request 服务器端取得客户端的信息:头信息,Cookie,请求参数,MVC设计模式response 服务器端回应客户端信息,Cookie,从定向session 表示每一个用户,用于登录验证上application 表示整个服务器,getRealPath()config 取得初始化参数,初始化参数在web.xml中配置exception 表示的是错误页的处理操作page 如同this一样,表示整个jsp页面out 输出,但是尽量使用表达式输出2.JSP有哪些动作?作用分别是什么?所谓的动作实际上就是指的标签指令:<jsp:include>:包含<jsp:forward>:跳转<jsp:useBean>:使用JavaBean<jsp:setProperty>:设置属性,通过反射调用方法<jsp:getProperty>:取得属性<jsp:plugin>:输入Applet程序的代码3.JSP中动态include与静态include的区别?静态include:<%@include%>,直接将内容先包含后处理动态include:<jsp:include>,如果包含的是动态页,则先编译之后再进行处理4.两种跳转方式分别是什么?有什么区别?服务器端跳转:<jsp:forward>,跳转之后地址栏不改变,可以传递request属性,实际上是对RequestDispatcher接口的封装客户端跳转:response.sendRedirect(),跳转之后地址栏改变5.请总结一下WEB开发中的会话跟踪实现: 1.session,也是最常用的一种 2.Cookie 3.地址重写 4.隐藏域6.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选哪些字符(<,>,&,",')因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作:<;>;";&apos;&;7.说明JSP中errorPage的作用,应用范围。表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了异常,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误页的处理,但是简单的错误页基本上都是在JSP的开发中使用的。要想进行错误页的设置,需要满足以下两个条件: 1.在错误能够处理的页上的page指令中,增加:isErrorPage=“true”,表示可以处理错误 2.在每一个页面指定errorPage,指行isErrorPage为true的页面。如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置<error> <error-code>404</error> <location>/errors.jsp</location></error><error> <exception-type>java.lang.NullPointerException</exception-type> <location>/errors.jsp</location></error>一旦出现错误之后,会自动跳转到指定的页面中,但是这种跳转,永远是属于服务器端跳转。8.写一段JDBC连接Oracle的程序,并实现数据查询。A。步骤: 。定义一系列的全局常量:驱动路径,连接地址,用户名,密码 。加载驱动程序 。连接数据库 。操作数据库:更新或查询 。关闭数据库B。代码: <%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%> <%@pageimport="java.sql.*"%> <html> <head> <title>MyJSP'index.jsp'startingpage</title> </head> <body> <!--定义四个全局变量--> <%! publicstaticfinalStringDBDRIVER="oracle.jdbc.driver.OracleDriver"; publicstaticfinalStringDBURL="jdbc:oracle:thin:@localhost:1512:MLDN"; publicstaticfinalStringDBUSER="scott"; publicstaticfinalStringDBPASSWORD="tiger"; %> <% Connectionconn=null; PreparedStatementpstmt=null; ResultSetrs=null; Stringsql="selectempno,ename,jobfromemp"; %> <% Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); while(rs.next()){ intempno=rs.getInt(1); Stringename=rs.getString(2); Stringjob=rs.getString(3); } rs.close(); pstmt.close(); conn.close(); %> </body> </html>9.简述在JSP中如何实现分页操作的。首先一定要确定的分页有两种: 。真分页:性能较高,是基于数据库的操作,只是从数据库中取出部分的数据进行显示所有性能高,但是可移植性低。 。假分页:性能较低,是将全部的结果查询出来,之后依靠算法分页,只显示部分数据,因为使用的是通用的语法,所以可移植性高。真分页实现原理: .定义一系列的变量:currentPage,lineSize,并通过查询求出allRecorders和计算求出pageSize: |Size=(allRecorders+lineSize-1)/lineSize .之后数据库查询语句中根据lineSize和currentPage进行数据的查询: |-Oracle中使用ROWNUMrownum,mysql中使用limit() .之后通过表单不断地修改currenPage,lineSize就可以实现分页显示。10.介绍在JSP中如何使用JavaBeans.JabaBean的格式要求:必须有包,publicclass声明,属性封装,无参构造,setter,getter.import语句导入或者通过<jsp:useBean>11.说一说Servlet的生命周期: .加载 .初始化,正常一次:对应init()方法,有两个init()其中一个是有ServletConfig对象,此方法存在则无参不调用,正常情况下在第一次使用Servlet的时候才进行初始化的操作,当然,也可以通过配置在容器启动的时候自动进行初始化<load-on-startup> .服务,服务多次:所有的服务都由service()方法分配,主要有doGet()和doPost(),分别处理get和post请求 .销毁,正常一次:调用destory()方法,如果一个Servlet长时间不使用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作 .卸载12.Servlet中forward()与redirect()区别?forward()方法是RequestDipatcher接口定义的,而redirect()是response定义的,一个是服务器端跳转,一个是客户端跳转13.MVC的各个部分都有哪些技术来实现?如何实现? .MVC:Model,View,Controller(模型视图控制器) |-Model:JavaBean:业务处理,数据处理 |-View:显示的JSP,最好不存在任何的Scriptlet,可以使用标签消除 |-Controller控制,接收View传递的内容和调用Javabean,并根据javaBean的处理结果进行跳转 .实现原理:所有的JSP将内容提交给Servlet,Servlet接收这些内容并调用相应的JavaBean进行业务及数据的处理,一般JavaBean有专人负责开发,完成业务的操作流程,而Servlet调用的只是接口,并根据这些接口的操作结果将内容交给JSP进行显示,但是在显示的时候尽可能少出现Scriptlet代码。 14.简述国际化程序点的实现思路。 .Locale,属性文件,ResourceBundle .国际化程序的实现,是根据本机的操作系统的语言类型,选择不同的属性文件,所有程序的基本代码一样,但是文字显示不一样,所以将内容作为属性文件出现之后,可以只显示属性文件中的文字。15.描述JSP和Servlet的区别,共同点,各自应用的范围。 .先有Servlet再有JSP,Servlet是在Java中嵌入HTML代码,而JSP是在HTML中嵌入Java代码。 .共同点:JSP可以完成的功能,Servlet都可以完成,但是对于过滤器,监听器只能由Servlet完成。 .应用范围:JSP用于显示,Servlet用于控制。 16.简述web.xml的作用 .属于部署描述符,在整个Java中只要是容器都会存在部署描述符此部署描述符可以控制整个WEB中各个组件的运行状态,也可以配置整个容器的状态:<error>,<welcome-file-list>,<servlet>,<session-timeout>,<filter>,<listener> <%@pagelanguage="

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论