您的位置:首页 > 职场人生

2018最新JAVA程序员面试题

2018-03-07 16:53 627 查看
应用服务器有那些?【基础】
答:BEAWebLogic Server, IBM WebSphere Application Server, Oracle9i   Application Server, JBoss, Tomcat。
146、Servlet执行时一般实现哪几个方法?【基础】
答:publicvoid init(ServletConfig config)
public ServletConfig getServletConfig()
public String getServletInfo()
public void service(ServletRequestrequest,ServletResponse
response)
public void destroy()
147、struts的入口类?【基础】
答:是ActionServlet,所有的struts 请求都经由该类转发处理。
148、STRUTS的应用(如STRUTS 架构)?【基础】
答:Struts是采用JavaServlet/JavaServer Pages 技术开发Web应用程序的开放源码的framework。采用Struts 能开发出基于MVC(Model-View-Controller)设计模式的应用构架。Struts 有如下的主要功能:
1)包含一个controllerservlet,能将用户的请求发送到相应的Action对象;
2)JSP 自由tag库,并且在controllerservlet 中提供关联支持,帮助开发人员创建交互式表单应用;
3)提供了一系列实用对象:XML处理、通过Javareflection APIs 自动处理JavaBeans属性、国际化的提示和消息。
149、几种会话跟踪技术?【基础】
答:cookie、URL 重写、设置表单隐藏域。
150、BS 与CS 的联系与区别?【基础】
答:C/S是Client/Server的缩写,是客户机与服务器结构的应用程序,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix 或SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server 的缩写,是浏览器和服务器结构的应用程序,即Web 应用程序,客户机上只要安装一个浏览器(Browser),如Netscape Navigator 或InternetExplorer,服务器安装Oracle、Sybase、Informix 或SQL Server 等数据库。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过WebServer 同数据库进行数据交互。
C/S 与B/S区别:
1)硬件环境不同:
C/S 一般建立在专用的网络上,小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务;B/S建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S 更强的适应范围, 一般只要有操作系统和浏览器就行;
2)对安全要求不同:
C/S 一般面向相对固定的用户群,对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S 发布部分可公开信息;B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户;
3)对程序架构不同:
C/S 程序可以更加注重流程,可以对权限多层次校验, 对系统运行速度可以较少考虑;B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上.比C/S 有更高的要求B/S 结构的程序架构是发展的趋势, 从MS 的.Net 系列的BizTalk 2000 Exchange 2000 等, 全面支持网络的构件搭建的系统. SUN 和IBM 推的JavaBean 构件技术等,使B/S 更加成熟;
4)软件重用不同:
C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S 要求下的构件的重用性好;B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子;
5)系统维护不同:
C/S 程序由于整体性,必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统;B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级;
6)处理问题不同:
C/S 程序可以处理用户面固定,并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统;B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S 无法作到的. 与操作系统平台关系最小;
7)用户接口不同:
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高;B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本;
8)信息流不同:
C/S 程序一般是典型的中央集权的机械式处理,交互性相对低;B/S 信息流向可变化, B-B B-CB-G 等信息、流向的变化, 更像交易中心。
151、过滤器有哪些作用?【基础】
答:可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以验证用户是否登录,可以验证客户的浏览器是否支持当前的应用,可以记录系统的日志等等。
152、过滤器的用法?(对客户端的请求统一编码和对客户端进行认证)【基础】
答:首先要实现(implements)Filter 接口,同时覆盖Filter 接口的三个方法:
init(FilterConfig config) //用于获得FilterConfig 对象;
doFilter(ServletRequest request, ServletResponseresponse,
FilterChain chain) //进行过滤处理一些业务;
destroy() //销毁Filter。
153、简述HttpSession的作用、使用方法,可用代码说明。(3分钟)【基础】
答:HttpSession中可以跟踪并储存用户信息,把值设置到属性中,有2个方法:setAttribute(),getAttrribute();
例如:在一个方法中用session.setAttribute(“student”,student);在session 中设置一个属性名为student,值为一个名为student 的对象。而后可在同一session 范围内用getAttribute(“student”)取出该属性,得到student对象。
154、介绍在JSP 中如何使用JavaBeans?【基础】
答:在JSP中使用JavaBean 常用的动作有:
1)<jsp:useBean/>:用来创建和查找bean 对象;
2)<jsp:setProperty/>:用来设置bean 的属性,即调用其setXxx()方法;
3)<jsp:getProperty/>:用来获得bean 的属性,即调用其getXxx()方法。
155、JSP和Servlet 中的请求转发分别如何实现?【基础】
答:JSP中的请求转发可利用forward 动作实现:<jsp:forward/>;Serlvet 中实现请求转发的方式为:
getServletContext().getRequestDispatcher(path).forward(req,res)。
156、Web.Xml的作用?【基础】
答:用于配置web应用的信息;如listener、filter 及servlet 的配置信息等。
157、写出熟悉的JSTL标签。【基础】
答:<c:if>、<c:choose>、<c: when>、<c: otherwise>、<c:forEach>、<c:set>。
158、说出struts中的标签。【基础】
答:<bean:message/> <html:errors />
<bean:include /> <html:messages />
<bean:define /> <html:html>
<bean:write /> <html:form>
<bean:resource /> <html:link>
<bean:cokkie /> <html:text>
<bean:heder /> <logic:present />
<bean:parameter /> <logic:equal /><bean:size />
159、JSP标签的作用?如何定义?【中等难度】
答:作用:分离jsp页面的内容和逻辑;
业务逻辑开发者可以创建自定义标签;
封装业务逻辑;
可重用并且易维护;
易于手工修改、易于工具维护;
提供简洁的语法;
定义:
写标签处理器;
写tld文件;
讲标签处理器和tld文件放到同一个包里面;
把jsp页面和标签库配置部署在一起。
160、写一个自定义标签;【中等难度】
答:代码如下:
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class TimeTag extends SimpleTagSupport{
private boolean isServer = true;
public void setServer(boolean isServer){
this.isServer = isServer;
}
public void doTag() throws JspException, IOException{
JspWriter out = getJspContext().getOut();
if(isServer) {
out.println(new java.util.Date());
}else{
out.println("<scriptlanguage=\"javascript\">");
out.println("document.write(new Date());");
out.println("</script>");
}
}
}
161、javascript的优缺点和内置对象;【中等难度】
答:1)优点:简单易用,与Java 有类似的语法,可以使用任何文本编辑工具编写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无需进行严格的变量声明,而且内置大量现成对象,编写少量程序可以完成目标;
2)缺点:不适合开发大型应用程序;
3)Javascript 有11 种内置对象:Array、String、Date、Math、Boolean、Number、Function、Global、Error、RegExp、Object。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVA面试题 java