尚学堂专注java培训十年
尚学堂官方公众号:sxtjava | 029-62258374

当前位置  |首页常见问题 求职攻略 精选Java面试题与答案 尚学堂

精选Java面试题与答案 尚学堂

来源:西安尚学堂 2017-12-25关键词: 精选Java面试题与答案 尚学堂


学编程.jpg


Struts2是多线程还是单线程? Struts2是多线程,即一个session产生一个action,也就是每次请求产生一个Action的对象。


Struts2拦截器和过滤器的区别?

1、过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器。

2、Struts2 拦截器只能对 Action 请求起作用,而过滤器则可以对几乎所有请求起作用。

3、拦截器可以访问 Action 上下文(ActionContext)、值栈里的对象(ValueStack),而过滤器不能.

4、在 Action 的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。


HHTP 和 HHTPS的区别?

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的,...

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。


什么情况下调用doGet()和doPost()?

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

页面间对象传递的方法

request,session,application,cookie等


JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP :是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。

Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

而JSP的情况Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。


四种会话跟踪技术

会话作用域ServletsJSP 页面描述page否是代表与一个页面相关的对象和属性。

页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。

这既包括 servlet 又包括被编译成 servlet 的 JSP 页面request是是代表与 Web 客户机发出的一个请求相关的对象和属性。

一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。

一个 Web 会话可以也经常会跨越多个客户机请求application是是代表与整个 Web 应用程序相关的对象和属性。

这实质上是跨越整个 Web应用程序,包括多个页面、请求和会话的一个全局作用域。


J2EE是技术还是平台还是框架?

J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。


Servlet执行时一般实现哪几个方法?

public void init(ServletConfig config)

public ServletConfig getServletConfig()

public String getServletInfo()

public void service(ServletRequest request,ServletResponse response)

public void destroy()


应用服务器与WEB SERVER的区别?

应用服务器:Weblogic、Tomcat、Jboss

WEB SERVER:IIS、 Apache


STRUTS的应用(如STRUTS架构)

Struts 是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。

采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。

Struts有如下的主要功能:

1、包含一个controller servlet,能将用户的请求发送到相应的Action对象。

2、JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

3、提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。


Jdo是什么?

JDO 是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。

JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。

另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。