JavaEE面经:一篇文章解答你的面试困惑

本文详细介绍了JavaEE面试中的常见问题,涵盖了Servlet、JSP、Web.xml配置、JDBC、MVC模式等多个核心知识点。通过回答11个问题,深入剖析了Servlet生命周期、JSP运行过程、请求与响应处理、会话管理、URL重写、监听器和过滤器的开发配置,以及JSP内置对象和EL表达式等内容,旨在帮助开发者全面准备JavaEE面试,解答面试中的困惑。
摘要由CSDN通过智能技术生成

第一部分:Servlet/JSP快速入门

1. 请列举至少6种javaEE技术,并简述其作用。

解析:

javaEE是一系列的技术,主要包括13种。对于开发人员来说,了解几种主要的技术是非常必要的,例如JDBC、JSP、Servlet、XML、JNDI、JMS、JTA等。

参考答案:

(1) JDBC(Java Database Connectivity):用来访问数据库的API。

(2) JavaServlet :是一种小型的Java程序,扩展了web服务器的功能。

(3) JSP(Java Server Pages):JSP页面由HTM代码和嵌入其中的Java代码组成,用来实现动态视图。

(4) JNDI(Java Name and Directory Interface): JNDI API被用于访问名字和目录服务。

(5) EJB(Enterprise JavaBean):实现业务逻辑的组件,可以构成分布式系统。

(6) RMI(Remote Method Invoke):调用远程对象方法。

(7) Java IDL/CORBA:将Java和CORBA集成在一起。

(8) XML(Extensible Markup Language):可以用它来定义其他标记语言的语言。

(9) JMS(Java Message Service):用于和消息中间件相互通信的API。

(10) JTA(Java Transaction Achitecture):一种标准的API,可以访问各种事务管理器。

(11) JTS(Java Transaction Service):是CORBA OTS事务监控的基本实现。

(12) JavaMail:用于存取邮件服务的API。

(13) JAF(JavaBeans Activation Framework):JavaMail利用JAF来处理MIME编码的邮件附件。

2. 在web.xml文件中配置Servlet时,主要配置哪些信息?

解析: 使用IDE开发Servlet时,配置信息可以通过可视化方式定义。然而对于web应用开发员来说,了解Servlet的配置非常必要,能够在必要的时候手动进行修改。

参考答案: 配置Servlet时,主要配置<servlet>以及< servlet -mapping>,如下所示:

<servlet>

<servlet-name>IndexServlet</servlet-name>

<servlet-class>com.oracle.servlet.IndexServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>IndexServlet</servlet-name>

<url-pattern>/IndexServlet</url-pattern>

</servlet-mapping>

其中<servlet-class>是Servlet源文件的名字,<servlet-name>是自定义的名字,往往使用类名。<url-pattern>是其中非常重要的信息,用来配置访问Servlet的逻辑路径。必须以/开头。

<servlet-class>com.oracle.FirstServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>FristServlet</servlet-name>

<url-pattern>/frist<url-pattern>

<servlet-mapping>

其中,<servlet-class>是Servlet源文件的名字,<servlet-name>是自定义的名字,往往使用类名。<url-pattern>是非常重要的信息,用来配置访问Servlet的逻辑路径,必须以/开头。

3. 如果通过一个链接访问Servlet,默认调用Servlet中的哪个方法提供服务?

解析 度与不同的HTTP请求方法Servlet中都定于了对应的doXXXX方法接受请求。一超级链接的方式提交请求,默认的GET方式,所以将调用Servlet中的doGet方法。程序员应该熟悉每种用户请求对应的HTTP方式。

4. 如果一个表单<form>没有显示指定method属性值,那么默认使用什么方法提交请求?

解析 表单提交时Web应用中常见的请求方式,一般情况下,建议使用POST方式提交请求,因为这种方式请求参数在请求体重传递,不会显示在URL中。但是,如果在HTML的<form>标记中没有使用method属性指定提交方式,默认是GET方式。

参考答案 默认使用GET方式。

5. 请求接口中的哪个方法可以返回请求参数的值?哪个方法可以把请求参数的多个值同时返回?

解析 Web应用中复杂重要的的功能往往通过表单提交实现,用户利用表单可以输入很多信息,这些信息被称为请求参数。在Web应用开发中,获得请求参数几乎是使用最多的功能,程序员应该熟练掌握获得请求参数有关的所有方法。

参考答案 请求接口中的getParameter 方法可以返回某一个请求参数的值,getParaneterValues方法可以把摸个请求参数的多个值同时返回,封装到一个数组中,例如复框的多个值。

6.响应接口中的哪个方法可以设置内容类型?用简单代码演示。

解析 响应可以封装服务器端返回到客户端的数据。而这些数据的格式和编码都需要使用响应中的方法进行设置。如果设置错误,客户端浏览器将无法显示。

参考答案 响应中的soracleontentType方法可以设置内容类型,如下所示:

//设置响应的内容类型

Respose.soracleontentType(“text/htmllcharset=gb2312”);

上述代码中设置响应的内容类型是text或者html,编码格式是gb2312.

7.简述JSP的运行过程

解析 很多初级开发员对JSP的理解比较肤浅,不熟悉JSP的运行过程,JSP出错时很难排错,开发员必须熟悉JSP的运行过程,这样才能编写出优良的JSP并能顺利调试。

参考答案

(1) 容器将JSP翻译成符合Servlet规范的类。

(2) 容器编译JSP生成的类。

(3) 容器初始化JSP实例;

(4) 将请求和相应对象传递给JSP实例的服务方法,提供服务。

8.JSP中的<% %>和<% =%>有什么区别?

解析 JSP从表面上看就是HTML代码中混合了Java代码,而为了区别Java代码和HTML代码,规范中定义了一些符号,即脚本元素。初级开发员应该从熟悉这些脚本元素开始,逐步熟悉JSP的开发。

参考答案 <% %>称为脚本片段,可以包含任何符合语法的Java代码,可以同时包含多行代码。而<% =%>称为表达式,=号后面是一个表达式,这个表达式的值将被输出到浏览器中,表达式后面不用使用分号结束,而且每个<% =%>只能包含一个表达式。

9.JDBC编程中主要有哪几种语句对象?有什么区别?

解析 JDBC主要用来操作数据库,操作数据库本质上是通过执行SQL语句完成。所以,JDBC编程中,能够用来执行SQL语句的语句对象非常重要,每种语句对象都存在一些区别,开发员应该熟悉并掌握。

参考答案 JDBC中主要有以下3种语句对象:

(1) Statement:Statement是所有语句对象的父接口,定义了语句对象的规范。

(2) PreparedStatement:预编译的语句对象,将待执行的语句进行了预编译,可以在执行时动态指定SQL语句中的参数。

(3) CallableStatement:可以用来调用数据库的存储过程。

10、简述使用JDBC操作数据库的主要步骤。

解析 不论使用什么数据库软件,JDBC操作数据库的步骤都基本相同。开发员一定需要注意的是,JDBC的连接对象、语句对象、结果集等都是高开销对象,使用完毕一定要在finally语句中进行关闭处理,否则将降低应用的性能。

参考答案

(1) 加载驱动类;

(2) 获得连接对象;

(3) 获得语句对象;

(4) 执行SQL语句,如果是查询语句,需要处理结果集;

(5) 关闭结果集。语句对象。数据库连接对象。

11.说明MVC模式的含义,并用图表示web应用中MVC模式中每部分之间的关系

解析 对于web开发员来说,正确理解MVC模式非常关键。目前,大多数web应用都是基于MVC模式进行架构,也有很多MVC框架能够帮助开发员快速搭建MVC应用。值得注意的是,使用JSP,Servlet,JavaBean可以构建MVC模式的应用,但是MVC是一种架构思想,并不仅局限于JSP,Servlet,JavaBean这个范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值