1、 请列举至少5种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、在l文件中配置Servlet时,主要配置哪些信息?
解析:使用IDE开发Servlet时,配置信息可以通过可视化方式定义。然而对于web应用开发员来说,了解Servlet的配置非常必要,能够在必要的时候手动进行修改。
参考答案:配置Servlet时,主要配置<servlet>以及< servlet -mapping>,如下所示:
<servlet>
<servlet-name>IndexServlet</servlet-name>
<servlet-class&servlet.IndexServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IndexServlet</servlet-name>
<url-pattern>/IndexServlet</url-pattern>
</servlet-mapping>
其中<servlet-name>是自定义的名字,往往与类名相同。<servlet-class>是Servlet源文件的名字,格式是:包名.类名。<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. 响应接口中的哪个方法可以设置内容类型?用简单代码演示。
解析:响应可以封装服务器端返回到客户端的数据。而这些数据的格式和编码都需要使用响应中的方法进行设置。如果设置错误,客户端浏览器将无法显示。
参考答案:响应中的setContentType方法可以设置内容类型,如下所示:
//设置响应的内容类型
Respose.setContentType(“text/html;charset=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) 加载驱动类;
例:Class.forname(“sql.jdbc.Driver”);
(2) 获得连接对象;
例:Connection conn = Connection(“jdbc:mysql://localhost:3306/bbs”,”root”,”111”);
(3) 获得语句对象;
例:Statement stmt = ateStatement();
(4) javaservlet和jsp的比较执行SQL语句,如果是查询语句,需要处理结果集;
例:int rs = uteUpdate(sql);
(5) 关闭结果集。语句对象。数据库连接对象。
例:rs.close(); stmt.close(); conn.close();
11. 说明MVC模式的含义,并用图表示web应用中MVC模式中每部分之间的关系
解析:对于web开发员来说,正确理解MVC模式非常关键。目前,大多数web应用都是基于MVC模式进行架构,也有很多MVC框架能够帮助开发员快速搭建MVC应用。值得注意的是,使用JSP,Servlet,JavaBean可以构建MVC模式的应用,但是MVC是一种架构思想,并不仅局限于JSP,Servlet,JavaBean这个范围内,可以使用很多其他技术实现。
参考答案: MVC本来应用于桌面程序中,M是指Modle数据模型 , V是指View用户界面 , C则是Controller控制器,至今已被广泛使用在JavaEE平台上。使用MVC的目的是将M和V实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,
一旦M改变,V应该同步更新。但由于web应用大多基于请求响应模式,因此往往做不到同步更新。MVC每部分之间的关系如下
12. 请说明Servlet的生命周期
解析 Servlet作为服务器端的组件,需要在容器中才能运行,容器管理Servlet的生命周期。对于web开发员来说,了解Servlet的生命周期才能更好地进行Servlet编程。
参考答案
阶段一:初始化
客户端第一次访问Servlet,或者容器加载应用时(配置<load-on-startup>),实例化一个Servlet对象,若有多个用户端同时访问,容器将启动多线程并发访问该对象。实例化结束后,将对Servlet实例进行初始化,先调用init(ServletConfig)方法,再调用init()方法。
阶段二:提供服务
Servlet初始化成功后,容器调用Servlet接口中定义的service()方法把请求和响应传递给相应
的方法进行处理,如doGet、doPost。
阶段三:销毁
Servlet提供服务结束,或者一段时间后,容器先调用Servlet接口中定义的destroy()方法销毁Servlet实例,同时允许完成一些自定义的操作。
13. Servlet跳转到JSP常常有两种方法:一种称为响应重定向,一种称为请求转发。请用代码展示两种方法,并说明其区别。
解析 Servlet作为MVC中的控制器,主要的作用就是接受客户端请求,获得请求信息后调用业务逻辑,然后根据业务逻辑的处理结果跳转到不同的视图显示给用户。开发人员必须掌握常用的两种跳转方法,即响应重定向和请求转发。实际工作中常用的是请求转发,很多MVC框架默认也是使用请求转发.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论