jsp笔试题全集
更新时间:2024-03-01 10:13:02 阅读量: 综合文库 文档下载
- jsp笔试题及答案推荐度:
- 相关推荐
1. HTML简介 HTML(HyperText Mark-up Language)即超文本标记语言 1.什么是xml? 可扩展标记语言
JSP(JavaServer Pages> 2.JSP中如何设置COOKIE? <%
Cookie mycookie = new Cookie(”aName”,”aValue”); response.addCookie(mycookie); %> 3.Request对象的主要方法 setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例 getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性 4.Servlet的生命周期? Servlet的生命 周期可以分为加载、实例化、初始化、处理客户请求和卸载
五个阶段,体现在方法上主要是init()、service()和destroy()三个方法。 生命周期的具体说明如下:
Servlet容器完成加载Servlet类和实例化一个Servlet对象 init()方法完成初始化工作,该方法由Servlet容器调用完成 service()方法处理客户端请求,并返回响应结果
destroy()方法在Servlet容器卸载Servlet之前被调用,释放一些资源 public ServletConfig getServletConfig() public String getServletInfo()
public void init(ServletConfig config)
public void service(ServletRequest request,ServletResponse response) public void destroy()
5.在JSP中如何执行浏览重定向?
response.sendRedirect(”http://ybwen.home.chinaren.com/index.html”); 也能物理地改变HTTP HEADER属性,如下: <%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn=\ response.setHeader(\ %>
如何中SERVLET或JSP下载一个文件(如:binarytextexecutable)? 现提供两个解决方案:A:使用HTTP,
B:在Servlet中,通过设置ContentType和使用java.io包的Stream等类可作到.例如: response.setContentType(”application/x-msword”); JSP如何获得客户浏览器的信息? 使用request.getHeader(String)即可
6.在JSP中如何写文本文件?使用PrintWriter对象, 7.pageEncoding和charset有什么区别 pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码 8.如何避免JSP页面自动生成session对象?为什么要这么做? <%@ page session=”false”> 9.如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中? 把如下脚本加入到JSP文件的开始即可: <%
response.setHeader(”Cache-Control”,”no-store”); //HTTP 1.1 response.setHeader(”Pragma”,”no-cache”); //HTTP 1.0
response.setDateHeader (”Expires”, 0); //prevents caching at the proxy server %> 10如何现实servlet的单线程模式 <%@ page isThreadSafe=”false”%> 11.在JSP中如何删除一个COOKIE? <%
Cookie killMyCookie = new Cookie(”mycookie”, null); killMyCookie.setMaxAge(0); killMyCookie.setPath(”/”);
response.addCookie(killMyCookie); %> 12.在JSP中如何写文本文件? 使用PrintWriter对象,如:
<%@ page import=”java.io.*” %> <%
String str = “print me”;
String nameOfTextFile = “/usr/anil/imp.txt”; try {
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile)); pw.println(str); pw.close();
} catch(IOException e) { out.println(e.getMessage()); } %>
13.在servlets和JSP之间能共享session对象吗? HttpSession session = request.getSession(true); session.putValue(”variable”,”value”); 14.在一个JSP的请求处理中如何停止JSP的执行 <%
if (request.getParameter(”wen”) != null) { // do something } else { return; } %>
15.有一个jsp页面,假设名字叫list.jsp,部署在tomcat下,客户端通过浏览器访问这个页面. 当客户在浏览器中输入http://www......list.jsp ,进行访问这个jsp页面,这个过程中浏览器是怎样和tomcat进行通信的?
1. 首先要知道jsp在Tomcat的加载机制怎么回事, 一个jsp页面,当web服务器启动后,web容器都会将jsp转化成Servlet再转化成 纯文本的html/htm文件,当浏览器访问,会直接从服务器找到 jsp映射的纯文本文件
15.如果这个jsp页面改动了,为什么刷新浏览器就可以重新得到改变后的页面?
这个东西是可以设置的,Tomcat也好,Weblogic也好 默认就是将最新的jsp转成纯文本文件.只要一刷新就是最新的了.但如果为了保证服务器的性能,通常会设置成不刷新. 这样只有重新启动服务器才可以将这个jsp转成纯文本文件.
16.有一张表,只有两个字段,比如id,name这个表中如果存有100条数据,1万条数据,100万条数据,怎么样进行数据库访问才能速度更快,比如分页?
这要看数据的多少,如果数据少直接用Statement对象就可以了,如果数据很大并且频繁操作的话就应该使用PreparedStatement对象,因为如果查询被访问过一次,后台的数据库就会记录下来,下次访问就会很快!
17.有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么?
a:最常用的方法是用form中的text,,然后在b.jsp页面中这样获取
String username=request.getParameter(\
b:直接在Url地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在
后面,如有多个用&隔开,然后在下一页面用
request.getParameter(\参数名\来获取,例如: 在b.jsp中可用这样获取:String
username=request.getParameter(\ c:在form中放hidden,如:,获取方法同上 说明:传值的方法有很多种,以上是最常用最简单的几种方式,当然,如果传的值有中文的话,需另做处理
18.有三个页面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的数据要在c.jsp中访问,用最简单的方法 怎么做?注意不能放在session里
用隐藏表单域,即在b.jsp页面中用N个hidden把上一页面提交过来的信息保存下来,然后和当前一起提交,再到c.jsp里面获取 19. 事务特性与acid? 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性 20. page/request/session/application理解? page范围
具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。 ·request范围
具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象 session范围
具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。 ·application范围
具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象 21. 了解Threadlocal?
ThreadLocal是什么呢?它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。 从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收(除非存在对这些副本的其他引用)。
通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离
机制。
ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单,在ThreadLocal类中有一个Map,用于存储每一个线程的变量的副本。
概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响。
22.事务的边界!要么全成功,要么全失败。
事务的作用是确保一个或多个操作是以最小工作单位的形式执行的。如果事务中的其中一个操作失败,则所有操作都将回退,以使应用程序恢复执行操作前的状态。视将业务流程逻辑设计为无状态还是有状态(请参阅生成无状态和有状态业务流程),特定业务流程上下文中相应会有一个或多个事务 23.悲观锁与乐观锁?
为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。
度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用户返回错误的信息,让用户决定如何去做 先从悲观锁开始说。在SqlServer等其余很多数据库中,数据的锁定通常采用页级锁的方式,也就是说对一张表内的数据是一种串行化的更新插入机制,在任何时间同一张表只会插1条数据,别的想插入的数据要等到这一条数据插完以后才能依次插入。带来的后果就是性能的降低,在多用户并发访问的时候,当对一张表进行频繁操作时,会发现响应效率很低,数据库经常处于一种假死状态。而Oracle用的是行级锁,只是对想锁定的数据才进行锁定,其余的数据不相干,所以在对Oracle表中并发插数据的时候,基本上不会有任何影响。 select * from test where id = 10 for update
通过这条检索语句锁定以后,再开另外一个sql*plus窗口进行操作,再把上面这条sql语句执行一便,你会发现sqlplus好像死在那里了,好像检索不到数据的样子,但是也不返回任何结果,就属于卡在那里的感觉。这个时候是什么原因呢,就是一开始的第一个Session中的select for update语句把数据锁定住了。由于这里锁定的机制是wait的状态(只要不表示nowait那就是wait),所以第二个Session(也就是卡住的那个sql*plus)中当前这个检索就处于等待状态。当第一个session最后commit或者rollback之后,第二个session中的检索结果就是自动跳出来,并且也把数据锁定住。
第二种乐观锁的做法就是采用版本戳,这个在Hibernate中得到了使用。采用版本戳的话,首先需要在你有乐观锁的数据库table上建立一个新的column,比如为number型,当你数据每更新一次的时候,版本数就会往上增加1。比如同样有2个session同样对某条数据进行操作。两者都取到当前的数据的版本号为1,当第一个session进行数据更新后,在提交的时候查看到当前数据的版本还为1,和自己一开始取到的版本相同。就正式提交,然后把版本号增加1,这个时候当前数据的版本为2。当第二个session也更新了数据提交的时候,发现数据库中版本为2,和一开始这个session取到的版本号不一致,就知道别人更新过此条数据,这个时候再进行业务处理,比如整个Transaction都Rollback等等操作。在用版本戳的时候,可以在应用程序侧使用版本戳的验证,也可以在数据库侧采用Trigger(触发器)来进行验证。不过数据库的Trigger的性能开销还是比较的大,所以能在应用侧进行验证的话还是推荐不用Trigger。
24.了解servletcontextlistener (httpsessionlistener)(访问静态页面不会创那建session)?
应用ServletContextListener接口,可以实现在web应用程序初始化时,自动运行一些初始化程序。
ServletContextListener接口定义的方法 方法名称调用
Void contextInitialized(ServletContextEvent sce) 在Web应用程序的“初始阶段”,Servlet容器会调用ServletContextListener对象的contextInitialized()方法
Void contextDestroyed(ServletContextEvent sce) 在Web应用程序的“结束阶段”,Servlet容器会调用ServletContextListener对象的contextDestoryed()方法
应用此接口时,要在web.xml文件内定义“监听器类”的名称,此时要注意: 在Servlet规范中并未限制一个Web应用程序只能对应一个“监听器类”,但是在web.xml内定义
HttpSessionListener事件监听器,则会调用HttpSessionListener事件监听器的sessionCreated方法。相反,当这个浏览器访问结束超时的时候,J2EE应用服务器会销毁相应的HttpSession对象,触发HttpSession销毁事件,同时调用所注册HttpSessionListener事件监听器的sessionDestroyed方法。
可见,对应于一个用户访问的开始和结束,相应的有sessionCreated方法和sessionDestroyed方法执行。这样,我们只需要在HttpSessionListener实现类的sessionCreated方法中让计数器加1,在sessionDestroyed方法中让计数器减1,就轻松实现了网站在线人数的统计功能。
25.用servlet生成验证码?
生成随机的字符串并加入到图片中发到客户端? 26.url.uri.urn的区别?
URI(Uniform Resoure Identifier:统一资源标识符),URL(Uniform Resoure Location:统一资源定位器),URN(Uniform Resource Name统一资源名) 27.策略模式?
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 优点:
1、 提供了一种替代继承的方法,而且既保持了继承的优点(代码重用)还比继承更灵活(算法独立,可以任意扩展)。
2、 避免程序中使用多重条件转移语句,使系统更灵活,并易于扩展。 3、 遵守大部分GRASP原则和常用设计原则,高内聚、低偶合。 缺点:
1、 因为每个具体策略类都会产生一个新类,所以会增加系统需要维护的类的数量。 28.了解filter对权限的控制 session的控制?
用Filter防止用户访问一些未被授权的资源,比如一个用户未登录就不允许访问网站的某些页面,并将页面重定向到需要用户登录的页面 29.taglib标签?
1. 标签的配置和使用
a) 配置
i. 将涉及到的jar或class拷贝到web项目中
ii. 将tld(标签库描述文件)文件拷贝到WEB-INF或WEB-INF下的任意目录中 b) 使用
i. 采用taglib指令引入标签库 ii. 通过前缀访问taglib相应的属性 30 连接池的简单原理,
将数据库连接对象储存到集合中,例如:vector对象中,一但数据库建立连接后,不同的数据库访问请求就可以共享这些连接,这样通过复用这些连接,可以避免每次创建数据库连接带来的系统开销
31.web services, soap() , axis bugzilla+cvs ? web services
Web Services 主要利用 HTTP 和 SOAP 协议使商业数据在 Web 上传输,SOAP通过 HTTP 调用商业对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象.
基础的 Web Services 平台是 XML + HTTP。 HTTP 协议是最常用的因特网协议。
XML 提供了一种可用于不同的平台和编程语言之间的语言。 Web services 平台的元素: SOAP (简易对象访问协议) 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。 SOAP 包括三个部分:
SOAP 封装:它定义了一个框架 , 该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。 SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。
SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。 UDDI (通用描述、发现及整合)
Universal Description Discovery and Integration即统一描述、发现和集成协议 WSDL (Web services 描述语言) web服务=wsdl+soap
用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。 32.显示树形结构?
在数据库中建一个树表,设主键,父结点ID,是否为叶子结点,为几级目录等等 Jsp方面
32、forward 和redirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容
读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 33、jsp有哪些内置对象?作用分别是什么?
答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应
pageContext 网页的属性是在这里管理 session 与请求有关的会话期
application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身
exception 针对错误网页,未捕捉的例外 34、jsp有哪些动作?作用分别是什么? 答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记 35、JSP中动态INCLUDE与静态INCLUDE的区别? 答:动态INCLUDE用jsp:include动作实现
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=\36、两种跳转方式分别是什么?有什么区别? 答:有两种,分别为: 前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。 37、JSP的内置对象及方法。 答:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等) out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围 的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 page表示从该页面产生的一个servlet实例 Servlet方面 38、说一说Servlet的生命周期? 答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 39、JAVA SERVLET API中forward() 与redirect()的区别? 答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。 40、Servlet的基本架构 答: public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } 41、什么情况下调用doGet()和doPost()? 答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。 42、如何现实servlet的单线程模式 答:<%@ page isThreadSafe=\43、页面间对象传递的方法 答:request,session,application,cookie等 44、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。 JSP编译后是\类servlet\。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。 45、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 答: Public String translate (String str) { String tempStr = \ try { tempStr = new String(str.getBytes(\ tempStr = tempStr.trim(); } catch (Exception e) { System.err.println(e.getMessage()); } return tempStr; } 46、Servlet执行时一般实现哪几个方法? 答: public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServletInfo() public void service(ServletRequest request,ServletResponse response) public void destroy() 47、说出数据连接池的工作机制是什么? 答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。 Xml方面 48、你在项目中用到了xml技术的哪些方面?如何实现的? 答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。 49、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 答:a: 两种形式 dtd schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等 DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问 SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺 序访问 STAX:Streaming API for XML (StAX) 50.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”) 把它们换成与之相对应的HTML.如<为<>为> 51. JDBC全称是什么? JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分 52.什么是web容器 提供组件的运行环境,并且管理组件的生命周期。 答:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接跟容器中的环境变量交互,不必关注其它系统问题。 主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。 描述以下四种UML元素各代表什么意思?有什么不同: 54、 什么是模式?举例说明一个简单的工厂模式 55、 简单说明Ant的作用: 56、 简单说明Junit的作用; JUnit 是一个集成测试工具,能实现测试的自动化。这里说的是单元测试:属于软件工程里的白盒测试,也就是测试某个类的某个方法的功能。 57、 说明目前市面上运行java的平台有哪几种?分别有什么不同。 58.Session与cookie? Session是存在服务器端的;而Cookie是存在客户端的!! Session更不需要Cookie来支持和不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全! Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间 如果服务器端是多台服务器,采用负载均衡方案,session就有问题了。因为不能保证每次请求都由同一台服务器处理,这样就会出现session丢失的情况。因此在这种情况下,还是应该使用cookie 59.JSP如何处理HTML FORM中的数据? <% String item = request.getParameter(\ int howMany = new Integer(request.getParameter(\ %> 60在JSP中如何定义方法 你可以定义方法,但是你不能直接访问JSP的内置对象,而是通过参数的方法传递。如下: <%! public String howBadFrom(HttpServletRequest req) { HttpSession ses = req.getSession(); ... return req.getRemoteHost(); } %> <% out.print(\ %> <%= howBadFrom(request) %>。 61.如果BROWSER已关闭了COOKIES,在JSP中我如何打开SESSION来跟踪 使用URL重写即可,如下: 所谓URL重写,指的是,通过修改URL地址,在其后添加 sessionId,来实现sessionId的跟踪。 在链接、表单提交时,使用以下方法。 hello1.jsp <%@ page session=\ <% Integer num = new Integer(100); session.putValue(\ String url =response.encodeURL(\ %> ′>hello2.jsp hello2.jsp <%@ page session=\ <% Integer i= (Integer )session.getValue(\ out.println(\ %> 在重定向时: Java .Servlet 中 session.setAttribute(\ response.sendRedirect( response.encodeRedirectURL(\some.jsp 中:
正在阅读:
jsp笔试题全集03-01
将dBm转换为W的口算方法08-19
江苏省连云港淮安宿迁三市~度高三年级第二次考试物理试题05-22
宽容的力量作文800字07-02
《汽车检测与诊断技术》复习题一 - 图文09-23
那一刻我懂了爱的力量作文350字07-02
储煤混煤场施组 - 图文05-12
三套极为宝贵试卷(含详细答案)09-23
《电子商务网站建设》课程实验实训报告03-28
三年级下册第八单元作文.doc04-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 试题
- 全集
- jsp
- 公司财务报表附注
- 2012年高二学业水平测试9:必修模块模拟练习
- 2015外科病例模板
- 角色扮演在初中英语课堂教学中的实践分析
- 选修1-1&2-1 第二章 圆锥曲线与方程 导学案
- 施工员个人半年工作总结范文三篇
- 保护河流的倡议书
- 2017秋八年级数学上册5.1认识二元一次方程组学案无答案
- 2010计算机等级考试二级VB预测题
- 水泥基自流平基底的处理与界面剂的使用
- 计算机网络技术学习心得体会
- 关爱动物作文600字
- 输油管布置的数学模型
- 天津万科水晶城项目可行性研究报告 - 图文
- 18个集团军的历史沿革
- 新媒体、新技术在教育教学中的应用-最新教育资料
- 2013届高三二轮专题训练:辨析并修改病句(八)(全国)
- 2015年教师培训总结
- 数控答案
- TG公司机器设备价值评估报告书