JAVAWEB面试笔试题.docx

上传人:b****8 文档编号:30077926 上传时间:2023-08-04 格式:DOCX 页数:10 大小:20.45KB
下载 相关 举报
JAVAWEB面试笔试题.docx_第1页
第1页 / 共10页
JAVAWEB面试笔试题.docx_第2页
第2页 / 共10页
JAVAWEB面试笔试题.docx_第3页
第3页 / 共10页
JAVAWEB面试笔试题.docx_第4页
第4页 / 共10页
JAVAWEB面试笔试题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

JAVAWEB面试笔试题.docx

《JAVAWEB面试笔试题.docx》由会员分享,可在线阅读,更多相关《JAVAWEB面试笔试题.docx(10页珍藏版)》请在冰豆网上搜索。

JAVAWEB面试笔试题.docx

JAVAWEB面试笔试题

1.    jsp有哪些内置对象?

作用分别是什么?

一共有9个内置对象

pageContext   javax.servlet.jsp.PageContext

request       javax.servlet.http.HttpServletRequest

response     javax.servlet.http.HttpServletResponse

session       javax.servlet.http.HttpSession

application    javax.servlet.ServletContextàthis.getServletContext()

config        javax.serlvet.ServletConfig

exception     java.lang.Throwable

page         java.lang.Object

out          javax.servlet.jsp.JspWriter

作用:

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

2、request  服务器端取得客户端的信息:

头信息、Cookie、请求参数,最大用处在MVC设计模式上

3、response服务器端回应客户端信息:

Cookie、重定向

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

5、application表示整个服务器

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

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

8、page如同this一样,代表整个jsp页面自身

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

2.    jsp有哪些动作?

作用分别是什么?

  jsp共有以下6中基本动作

  

includepage=""/>:

在页面被请求的时候包含一个文件

      

useBeanid=""class=""scope="applicationpagerequestsession"/>:

寻找或者实例化一个javaBean

      

setPropertyname=""property=""value=""/>:

设置javaBean的属性,通过反射调用方法

      

getPropertyname=""property=""/>:

取得某个javaBean的属性

      

forwardpage=""/>:

把请求转到一个新的页面

      

plugin>:

插入Applet程序的代码

paramname=""value=""/>:

用于传参数,和forward一起使用

3.    jsp中动态INCLUDE和静态INCLUDE的区别?

动态INCLUDE用

include>动作实现:

      

includepage="include.jsp"flush="true"/>如果包含的是动态页,则先编译之后再进行处理,它总是会检查所包含文件中的变化,并且可以带参数

      静态INCLUDE用<%@include%>伪码实现:

<%@includefile=”include.jsp”%>直接将内容先包含后处理,它不会检查所包含的文件的变化,适用于包含静态页面

4.    两种跳转方式分别是什么?

有什么区别?

客户端跳转:

forward>跳转之后地址栏不改变,执行完页面后不会转向还会回来,相当于函数调用,并且可以传递request属性,实际上是对RequestDispatcher接口的封装

服务器端跳转:

response.sendRedirect(),跳转之后地址栏改变,完全转向新的页面,不会再回来,相当于goto语句。

5.    请总结一下WEB开发中的会话跟踪实现

1、           Session也是最常用的一种

2、           Cookie

3、           地址重写

4、           隐藏域

6.    在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选哪些字符

(<>&“‘空格乘号除号.........)

因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作

显示效果               符号说明                   实体名表示   实体编号表示

                                 空格符                                         

<                                小于号                       <                     <

>                           大于号                       >           >

&                               符号&                        &         &

“                               双引号                       "                "

C                            版权符号                   ©                &169;

R                  注册商标           ®                ®

×                              乘号                           ×              ×

÷                              除号                           ÷              ÷

‘                 单引号             ´

7.    说明Jsp中errorPage的作用域,应用范围

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

要想进行错误页的设置,需要满足以下两个条件:

1.     在错误能够处理的页上的page指令中,增加:

isErrorPage=”true”,表示可以处理错误

2.     在每一个页面指定errorPage,执行isErrorPage为true的页面。

如果现在希望能够配置一种全局的错误处理的话,则可以在Web.xml文件中进行配置

404

/errors.jsp

   java.lang.NullPointerException

  /errors.jsp

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

8.    写一段JDBC连接Oracle的程序,并实现数据查询。

packagecom.jdbc;

//importjava.sql.*;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassTestJdbc{

      publicstaticvoidmain(String[]args){

             Stringurl="jdbc:

oracle:

thin:

@localhost:

1521:

orcl";

             Stringusername="lanlan";  //scott

             Stringpassword="123456";//tiger

             Stringsql="select*fromuserst";

             try{

                    Class.forName("oracle.jdbc.driver.OracleDriver");

                    Connectionconn=DriverManager.getConnection(url,username,password);

                   //PreparedStatementpstmt=conn.prepareStatement(sql);

                    //ResultSetrs=pstmt.executeQuery();

                    Statementstmt=conn.createStatement();

                    ResultSetrs=stmt.executeQuery(sql);

                    

while(rs.next()){

                           System.out.println(rs.getInt("id"));

                           System.out.println(rs.getString("username"));

                           System.out.println(rs.getString("password"));

                    }

                    rs.close();

                    stmt.close();

             //    pstmt.close();

                    conn.close();

             }catch(ClassNotFoundExceptione){

                    e.printStackTrace();

             }catch(SQLExceptione){

                    e.printStackTrace();

             }

      }

}

9.    Class.forName的作用?

为什么要用?

Class.forName(xxx.xx.xx)返回的是一个类

Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段

10.简述在JSP中是如何实现分页操作的?

分页有两种情况:

真分页:

性能高,是基于数据库的操作,只是从数据库中取出部分的数据进行显示,所以性能高,但是可移植性低

假分页:

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

真分页实现原理:

1.定义一系列的变量:

currentPage(当前页)showResultNumber(每页显示记录数),

并通过查询求出countResultNumber(总记录数)求出countPage(总页数)

|-countPage=(countResultNumber-1)/showResultNumber+1

2.然后根据currentPage和showResultNumber到数据库中查询数据

|-Oracle中用rownumber  MySql中用limit()

3.然后在表单中不断地修改currentPage和showResutlNumber就可以实现分页

11.介绍在JSP中如何使用javaBeans

1.     javaBean的格式要求:

必须有包、publiccalss声明、属性封装、无参的构造函数、setter()和getter()方法

2.     jsp中导入javaBean:

使用import导入如:

<%@pageimport="com.model.User"%>

使用

useBean>导入如:

useBeanid="User"class="com.model.User">

useBean>

12.说一说什么是Servlet和Servlet的生命周期?

什么是Servlet:

      Servlet是用Java编写的服务端程序,它与协议和平台无关。

Servlet运行于Java-enabledWebServer中。

Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。

      Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。

这个过程为:

        1.客户端发送请求至服务器端;

        2.服务器将请求信息发送至Servlet

        3.Servlet生成响应内容并将其传给Server。

响应内容动态生成,通常取决于客户端的请求

        4.服务器将响应返回给客户端

Servlet的生命周期:

加载

初始化:

(由应用服务器Tomcat创建)

正常一次,对应init()方法,有两个init()方法,其中一个是具有ServletConfig对象,此方法存在则无参不调用,Servlet对象是由应用服务器在第一次使用的时候创建,一个Servlet只有一个Servlet对象存在。

也可以通过在web.xml文件中配置在容器启动的时候自动进行初始化操作

  服务:

服务多次,所有的服务都由service()方法分配,包括doPost()和doGet(),分别处理post和get请求

销毁:

正常一次,调用destroy()方法,当重新加载或者关闭应用服务器的时候应用服务器会销毁Servlet对象,如果一个Servlet长时间不使用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作

卸载

13.Servlet中forward()与sendRedirect()的区别?

forward()方法是RequestDispatcher接口定义的,而sendRedirect()是response定义的,sendRedirect()是服务器端的跳转,forward()是客户端的跳转

14.MVC的各个部分都有哪些技术来实现?

如何实现?

1.面向事件驱动的(JSF)

2.面向请求驱动的(Struts1.X,Struts2.X,WebWork)

·MVC:

Model、View、Controller

|-Model(模型)JavaBean:

业务处理、数据处理

|-View(视图)JSP:

最好不存在scriptlet,可以使用标签消除

|-Controller(控制器):

接受View提交的内容并调用JavaBean,并根据JavaBean的处理结果进行跳转

·实现原理:

所有的JSP将内容提交给Servlet,Servlet接收这些内容并调用相对应的JavaBean进行业务及数据的处理,完成业务的操作流程。

Servlet调用的只是接口,并根据这些接口的操作结果将内容交给JSP显示,在显示的时候尽量少出现scriptlet代码。

15.简述国际化程序的实现思路?

·Locale、属性文件、ResourceBundle

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

16.描述JSP和Servlet的区别、共同点、各自应用的范围。

·区别:

先有的Servlet再有的JSP,Servlet是在Java中嵌入HTML代码,而JSP是在HTML代码中嵌入Java代码

jsp是一种脚本语言,简化了java和Servlet的使用难度,同时扩展了网页动态执行的能力

jsp仍然没有超出java和Serlvet的范围,不仅jsp页面上可以直接写java代码,而且jsp是先被编译成Servlet之后才实际运行的

jsp在服务器上执行,将结果输出到客户端显示

·共同点:

Jsp可以完成的功能Servlet也可以完成,但是对于过滤器、监听器只能由Servlet完成

·应用范围:

Jsp用于显示,Servlet用于控制

17.简述Web.xml文件的作用

  ·属于部署描述符,在整个Java中只要是容器都会存在部署描述符,此部署描述符可以控制整个Web中各个组件的运行状态,也可以配置整个容器的状态,主要配置程序中的一些基本信息和文件等等:

如:

18.什么情况下调用doGet()和doPost()方法?

Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost().

19.注意内容

<%@pagelanguage="java"import="java.util.*"

contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%

  Stringpath=request.getContextPath();

  StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

凡是自动生成的代码,都需要注意:

publicstaticvoidmain(String[]args){}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1