Web面试题

    技术2022-05-18  12

    壹、Collection Collections 的区别?

             前者是集合接口,后者是工具类。

    贰、JSP有哪些内置对象?作用分别是什么?

             一共有九个内置对象,

             1pageContext                      javax.servlet.jsp.PageContext

           2request                                   javax.servlet.http.HttpServletRequest(接口) →父接口ServletRequest

             3response                               javax.servlet.http.HttpServletResponse   

             4session                                   javax.servlet.http.HttpSession

             5application                           javax.servlet.ServletContext       可以使用this.getServletContext()方法 替代application对象

             6config                                               javax.servlet.ServletConfig

             7exception                                       java.lang.Throwable

             8page                                        java.lang.Object

             9out                                         javax.servlet.jsp.JspWriter

    作用:

             1pageContext                      表示页容器                      EL、标签、上传

           2request                                   服务器端取得客户端的信息:头信息、Cookie、请求参数      3response                               服务器端回应给客户端信息:Cookie、重定向

             4session                                   表示每一个用户,用于登陆验证上

             5application                           表示整个服务器,最常用的一个方法getRealPath(),获得页路径

             6config                                               取得初始化参数,初始化参数在web.xml中配置

             7exception                                       表示的是错误页的处理操作。

             8page                                       如同this一样,表示整个JSP页面

             9out                                         输出,但是尽量使用表达式输出

     

    叁、JSP有哪些动作?作用分别是什么?

             所谓的动作实际上就是指的是标签指令:

                       <jsp:include>:包含.

                       <jsp:forward>跳转

                       <jsp:userBean>: 使用userBean

                       <jsp:setProperty>:设置属性,通过反射调用方法。

                       <jsp:getProperty>:取得属性

                       <jsp:plugin>: 插入Applet程序的代码.

     

    肆、JSP中的动态include与静态include的区别?

             动态include<jsp:include>, 如果包含的是动态页,则先编译之后再进行处理。

             静态include<%@ include %>,直接将内容先包含后处理。

     

    伍、两种跳转的方式分别是什么?有什么区别?

             1.服务器端跳转:<jsp:forward>,跳转之后地址栏不改变,可以传递request属性,实际上是对RequestDispatch接口的封装。传递参数值不会丢失

             2.客户端跳转:response.sendRedirect(),跳转之后地址栏发生改变,传递参数值会丢失

     

     

    陆、总结一个WEB开发中回话跟踪实现。

             1.session: 也是最常用的一种。

             2.Cookie:

             3.地址重写

             4.隐藏域

     

    柒、WEB开发中的字符(<>&)怎么处理?

             因为以上的俄标记都属于HTML范畴的内容,所以必须 进行转义操作:<>"&apos&.

     

    捌、说明JSPerrorPage的作用,应用范围?

             表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了异常,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误也的处理,但是简单的错误也基本上都是在JSP的开发中使用的。

    1、  在错误能够处理的页上的page指令中,增加:isEooroPage=”true”,表示可以处理错误。

    2、  在每一个页面指定errorPage,指行isErrorPagetrue的页面。

    如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置。

    一旦出现错误之后,会自动跳转到指定的页面中,但是这种跳转,永远是属于服务器端跳转。

     

    玖、写一段JDBC链接Oracle的程序,并实现数据查询。

    A:步骤:

    1.       定义一系列的全局常量:驱动路径、连接地址、用户名、密码

    2.       加载驱动程序

    3.       连接数据库

    4.       操作数据库:更新或查询

    5.       关闭数据库

    代码:

             <%

                       Public static final String Driver=”oracle.jdbc.driver.OracleDriver”;

                       Public static final String url=”jdbc:oracle:thin:@localhost:1521:MLDN”;

                       Public static final String username=”scott”;

                       Public static final String userpass=”tiger”;

    %>

    <%

                       Connection conn=null;                        //数据库连接

                       PreparedStatement ps=null;

                       ResultSet rs=null;

                       String sql=”select empno,ename,job from emp”;

    %>

    <%

                       Class.forName(Driver);

    Conn=DriverManager.getConnection(url,username,userpass);

                       Ps=conn.preparedStatement(sql);

                       Rs=pstmt.executeQuery();

    While(rs.next()){

                                Int empno=rs.getInt(1);

                                String ename=rs.getString(2);;

                                String job=rs.getString(3);

    }

    Rs.close()

    Ps.close();

    Conn.close();

    %>

     

     

    拾、簡述在JSP中是如何实现分页操作的?

             首先一定要确定的是分页有两种:

    1.       真分页:性能较高。,是基于数据库的俄操作,只是从数据库中取出部分的数据进行显示,所以性能高,但是可移植性低。

    2.       假分页:性能较低,是将全部的结果查询出来,之后依靠算法分页,只显示部分数据,因为使用的是通用的语法,所以可移植性高。

     

    实现的原理:

    1.       定义一系列的变量:currentPagelineSize、并通过查询求出allRecorders和计算求出pageSize

     

    pageSize=(allRecorders+lineSiez-1)/lineSize

     

    2.       之后数据库查询语句中根据lineSizecurrentPage进行数据的查询;

     

    Oracle中使用ROWNUMMySQL中使用limit();

     

    3.        之后通过表单不断的修改currentPagelineSize就可以实现分页显示。

     

     

    拾壹、介绍在JSP中如何使用JavaBean

    1.       JavaBean的格式要求:必须有包、public class 声明、属性封装、无参构造函数、settergetter

    2.       Import语句导入或者通过<jsp:userBean>

     

     

    拾贰、Servlet的生命周期?

    1.              初始化,正常一次:对应init()方法,有两个 init()其中一个是有ServletConfig对象,此方法存在则无参不调用。正常情况下在第一次使用Servlet的时候才进行初始化的操作,当然,也可以通过配置在容器启动的时候自动进行初始化<load-on-startup>

    2.              服务:服务多次:所有的服务都有services()方法分配,主要有doGet()doPost(),分别处理getpost请求。

    3.              销毁:正常一次:调用destroy()方法,如果一个Servlet长时间不用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作。

     

    拾叁、Servlet中的forward()redirct()的区别?

             Forward() 方法是RequestDispatcher接口定义的,而redirect()response定义的,一个是服务器端跳转,另外一个是客户端跳转。

     

    拾肆、MVC的哥哥部分都有哪些技术实现?如果实现?

             MVCModelViewController

                       ModelJavaBean:业务处理、数据处理

                       View:显示的JSP,最好不存在人和的scriptlet,可以使用标签消除

                       Controller:控制,接收View传递的内容和调用JavaBean,并根据JavaBean的处理结果进行跳转,实现原理:

                       所有的JSP将内容提交给ServletServlet接收这些内容并调用相应的JavaBean进行业务及数据的处理,一般JavaBean有专人负责开发,完成业务的惭怍流程,而servlet调用的只是接口,并根据这些接口的操作结果将内容交给JSP进行显示,但是在显示的时候尽可能少出现Scriptlet代码。

     

    拾伍、国际化陈旭的实现思路?

    1.              Locale、属性文件、ResourceBundle

    2.              国际化程序的实现,是根据本机的操作系统的语言类型,选择不同的属性文件,所有程序的基本代码一样,但是文字显示不一样,所以将内容作为属性文件出现之后,可以只显示属性文件中的蚊子。

     

    拾陆、描述JSPServlet的区别、共同点、各自应用的范围?

    1、  现有的Servlet再有的JSPServlet是在java中嵌入HTML代码,而JSP是在HTML中嵌入java代码

    2、  共同点:JSP可以完成的功能,Servlet都可以完成,但是对于过滤器、监听器只能由Servlet完成。

    3、  应用范围:JSP用于显示,Servlet用于控制。

     

    拾柒、简述web.xml的作用?

             属于部署描述符,在整个java中只要是容器都会存在部署描述符, 此部署描述符可以控制WEB中各个组件的运行状态,也可以配置整个容器的状态:<error:page><welcome-file-list>,<servlet>,<session-timeoue>,<filter>,<listener>

     

     

     

     

    面试中最常见的代码,凡是自动生成的代码,还有main方法,都需要十分注意:

    <%@ page language=”java”    import = “java.util.*”   pageEncoding=”GBK”  %>

     

    Main方法

     

    Public static void main(String args[]){

     

    }

     

     

    总结:需要十分注意基础知识。


    最新回复(0)