互联网大厂(字节华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文
Posted 传智教育官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互联网大厂(字节华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文相关的知识,希望对你有一定的参考价值。
文章目录
- 1.请列举至少6种javaEE技术,并简述其作用。
- 2.在web.xml文件中配置Servlet时,主要配置哪些信息?
- 3. 如果通过一个链接访问Servlet,默认调用Servlet中的那个方法提供服务?
- 4. 如果一个表单没有显示指定method属性值,那么默认使用什么方法提交请求?
- 5. 请求接口中的哪个方法可以返回请求参数的值?哪个方法可以把请求参数的多个值同时返回?
- 6.响应接口中的哪个方法可以设置内容类型?用简单代码演示。
- 7.简述JSP的运行过程
- 8.JSP中的<% %>和<% =%>有什么区别?
- 解析
- 参考答案
- 9.JDBC编程中主要有哪几种语句对象?有什么区别?
- 10、简述使用JDBC操作数据库的主要步骤。
- 11.说明MVC模式的含义,并用图表示web应用中MVC模式中每部分之间的关系
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 -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源文件的名字,是自定义的名字,往往使用类名。是非常重要的信息,用来配置访问Servlet的逻辑路径,必须以/开头。
3. 如果通过一个链接访问Servlet,默认调用Servlet中的那个方法提供服务?
解析
度与不同的HTTP请求方法Servlet中都定于了对应的doXXXX方法接受请求。一超级链接的方式提交请求,默认的GET方式,所以将调用Servlet中的doGet方法。程序员应该熟悉每种用户请求对应的HTTP方式。
4. 如果一个表单没有显示指定method属性值,那么默认使用什么方法提交请求?
解析
表单提交时Web应用中常见的请求方式,一般情况下,建议使用POST方式提交请求,因为这种方式请求参数在请求体重传递,不会显示在URL中。但是,如果在html的标记中没有使用method属性指定提交方式,默认是GET方式。
参考答案
默认使用GET方式。
5. 请求接口中的哪个方法可以返回请求参数的值?哪个方法可以把请求参数的多个值同时返回?
解析
Web应用中复杂重要的的功能往往通过表单提交实现,用户利用表单可以输入很多信息,这些信息被称为请求参数。在Web应用开发中,获得请求参数几乎是使用最多的功能,程序员应该熟练掌握获得请求参数有关的所有方法。
参考答案
请求接口中的getParameter 方法可以返回摸一个请求参数的值,getParaneterValues方法可以把摸个请求参数的多个值同时返回,封装到一个数组中,例如复框的多个值。
6.响应接口中的哪个方法可以设置内容类型?用简单代码演示。
解析
响应可以封装服务器端返回到客户端的数据。而这些数据的格式和编码都需要使用响应中的方法进行设置。如果设置错误,客户端浏览器将无法显示。
参考答案
响应中的soracleontentType方法可以设置内容类型,如下所示:
//设置响应的内容类型
Respose.soracleontentType(“text/htmllcharset=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这个范围内,可以使用很多其他技术实现。
参考答案
MVC本来应用于桌面程序中,M是指数据模型 , V是指用户界面 , C则是控制器,至今已被广泛使用。使用MVC的目的是将M和V实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC模式是近些年被JavaEE平台广泛使用的设计模式。Web应用中的MVC模式与桌面程序中的MVC模式有所不同。由于web应用大多基于请求响应模式,因此往往做不到“一旦M改变,V应该同步更新”。MVC每部分之间的关系如下
以上是关于互联网大厂(字节华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文的主要内容,如果未能解决你的问题,请参考以下文章
花了三个月,整理了阿里腾讯字节等大厂面试真题(含答案)面试一路开挂
全精品~ 2023年互联网大厂高频Java面试真题集锦(含答案解析)