首页 > 编程语言 >互联网大厂(字节、华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文

互联网大厂(字节、华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文

时间:2023-01-28 21:36:28浏览次数:42  
标签:语句 面试题 Java EE MVC JSP 解析 Servlet 参考答案


文章目录

  • ​​1.请列举至少6种javaEE技术,并简述其作用。​​
  • ​​解析:​​
  • ​​参考答案:​​
  • ​​2.在web.xml文件中配置Servlet时,主要配置哪些信息?​​
  • ​​解析:​​
  • ​​参考答案: 配置Servlet时,主要配置以及< servlet -mapping>,如下所示:​​
  • ​​3. 如果通过一个链接访问Servlet,默认调用Servlet中的那个方法提供服务?​​
  • ​​解析​​
  • ​​4. 如果一个表单没有显示指定method属性值,那么默认使用什么方法提交请求?​​
  • ​​解析​​
  • ​​参考答案​​
  • ​​5. 请求接口中的哪个方法可以返回请求参数的值?哪个方法可以把请求参数的多个值同时返回?​​
  • ​​解析​​
  • ​​参考答案​​
  • ​​6.响应接口中的哪个方法可以设置内容类型?用简单代码演示。​​
  • ​​解析​​
  • ​​参考答案​​
  • ​​7.简述JSP的运行过程​​
  • ​​解析​​
  • ​​参考答案​​
  • ​​8.JSP中的<% %>和<% =%>有什么区别?​​
  • ​​解析​​
  • ​​参考答案​​
  • ​​9.JDBC编程中主要有哪几种语句对象?有什么区别?​​
  • ​​解析​​
  • ​​参考答案 JDBC中主要有以下3种语句对象:​​
  • ​​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,MVC,JSP,解析,Servlet,参考答案
From: https://blog.51cto.com/u_8238263/6025149

相关文章

  • Java零基础05篇:运算符的实际应用
    文章目录​​一、关系运算符(应用)​​​​二、逻辑运算符(应用)​​​​三、三元运算符(理解)​​​​三元运算符案例:​​​​1.需求​​​​2.需求:​​一、关系运算符(应用)关系......
  • Java枚举(Enum)类型原理探求
    Enum枚举类型Enum的全写是Enumeration,这个词的翻译是列举、逐条陈述、细目。在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串、整型),这种数据类型的变量......
  • java面试技巧:Integer和int的那些事⼉
    最近在招聘⾯试的过程中,考察⼀些候选⼈的基础掌握能⼒中发现,还是有⼤多数⼲了有1~3年的开发者在基础这块⼉掌握的不够牢靠,没有去思考过为什么这样做,以及这样做的原因是什么?......
  • ::v-deep作用
    设置富文本编辑器的默认最小高度,::v-deep作用:穿透选择,正常style上加了scope的话,会给.ql-editor[data-v-hash]属性,只能选择当前页面标签或者组件的根标签//如果......
  • java四大引用详解!
    什么是java四大引用? 是JDK1.2版本开始引入,把对象的引用分为4个等级,我们平时学习的就是四种的第一级的强引用,说白了,就Objecto=newObject(),四个引用分别是强引用、软引......
  • Java程序员必看:Solr vip竞价排名
    功能介绍本文将使用solr完成vip等级排名,这里并不是简单的按照vip等级排序。而是在使用solr条件查询(不使用排序)的时候将符合条件并且具有vip等级的数据显示在前面,这个时候......
  • 【算法训练营day28】LeetCode93. 复原IP地址 LeetCode78. 子集 LeetCode90. 子集II
    LeetCode93.复原IP地址题目链接:93.复原IP地址独上高楼,望尽天涯想起来简单,写起来还是很难的一道题,小错误频发。慕然回首,灯火阑珊首先,因为本题要求只能分割成四段,所......
  • Java:Path及Paths使用
    Java8Windows10-- 主要内容:Windows下测试,组合文件路径、Path转File等。 准备:D盘;D盘下bootweb目录(springboot项目);D盘下test.txt文件;D盘下其它目录及......
  • Java两大工具库:Commons和Guava(2)
    您好,我是湘王,这是我的51CTO博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!开发中有一类应用会出现的比较多,就是文......
  • Java两大工具库:Commons和Guava(2)
    您好,我是湘王,这是我的博客园。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!   开发中有一类应用会出现的比较......