JavaEE

1、SERVLET API中forward() 与redirect()的区别?

答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

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

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

3、request.getAttribute()和request.getParameter() 有何区别?

答:getAttribute是返回对象,getParameter返回字符串 。总的来说:request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。

4、jsp有哪些内置对象?作用分别是什么? 分别有什么方法?

答:
JSP中九大内置对象为:

对象 含义 类型 作用域
request 请求对象 javax.servlet.ServletRequest Request
response 响应对 javax.servlet.SrvletResponse Page
pageContext 页面上下文对象 javax.servlet.jsp.PageContext Page
session 会话对象 javax.servlet.http.HttpSession Session
application 应用程序对象 javax.servlet.ServletContext Application
out 输出对象 javax.servlet.jsp.JspWriter Page
config 配置对象 javax.servlet.ServletConfig Page
page 页面对象 javax.lang.Object Page
exception 例外对象 javax.lang.Throwable page
相关方法:

request对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。常用的方法有:getParameter、getParameterNames 和getParameterValues通过调用这几个方法来获取请求对象中所包含的参数的值。
response 对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用
pageContext对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性。常用的方法有 :findAttribute、getAttribute、getAttributesScope 和getAttributeNamesInScope。一般情况下pageContext对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。
session对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。

5、页面间对象传递的方法

答:request,session,application,cookie等。

6、J2EE是技术还是平台还是框架? 什么是J2EE

答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。 J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

7、什么是MVC模式?

MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。
这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层:

1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。
2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。
3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

8、解析xml有哪几种方式,优缺点?

1、JDOM生成和解析XML
为减少DOM、SAX的编码量,出现了JDOM。优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。
2、SAX生成和解析XML文档
为解决DOM的问题,出现了SAX,SAX事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少。SAX解析器代码比DOM解析器代码小,适于Applet下载。缺点:不是持久的,事件过后若没保存数据,那么数据就丢了。无状态性,从事件中只能得到文本,但不知该文本属于哪个元素。使用场合:Applet。只需XML文档的少量内容,很少回头访问,机器内存少。
3、DOM生成和解析XML文档
为XML文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作,支持删除、修改、重新排列等多种功能。缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间。使用场合:一旦解析了文档还需多次访问这些数据,硬件资源充足(内存、CPU)。

4、DOM4J生成和解析XML文档

DOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java 软件都在使用DOM4J来读写XML,特别值得一提的是连 Sun 的JAXM也在用DOM4J。

题目补充

1、静态include和动态include的区别

  • <% @ include file="include.html" %>静态include主要是对静态页面的引入,不会检查所包含文件的变化

  • <jsp:include>动态include主要是对动态页面的引入,它总是会检查所引入的页面的变化,如果所包含的资源在请求间发生变化,则下一次请求包含<jsp:include>动作的jsp时,将包含资源的新内容。

<jsp:include>动作包含的属性:
page:指定所包含资源的相对url路径,该资源必须时同一web应用程序的组成部分。
flush:指定在执行include动作后是否应刷新缓冲区,在jsp1.1中,该属性必须设置为真。
使用动态include动作时,根据jsp1.1规范,jsp容器允许判断通过include指令包含的资源是否发生变化。如果发生变化。则容器可以重新编译包含该资源的jsp,然而,该规范并没有提供向容器表明某个包含的资源发生变化的机制。

动态include的优点和不足:

优点:
1:引入和同步一个动态的页面,使jsp页面更具灵活性
2:能和不同页面之间进行信息的交互和快捷的实现方式。
3:改变了原始的所有页面编码都放在一个jsp上,使不同的功能分别写在不同页里,通过动态include方式引用到页面,更易于编码,更易于管理。

不足:
动态的引入时需要频繁的变化和页面信息的更新和交互,要占用大量的资源开销。降低页面的访问速度。如果在没必要动态引入的情况下,不要使用动态include
应该注意事项:

1:<jsp:include>动作的flush属性必须要定义,不定义会出现转换错误。而且设置的flush必须要为true
2:在<jsp:include>动作中指定的页面必须是同一web应用程序的一部分。如果引入的是非同一web应用的页面将导致请求时错误。

未完待续。。。

126、什么是SpringIOC?
127、什么是Aop?
128、Spring的核心类有哪些?
131、乐观锁与悲观锁的主要区别在哪?
132、为什么要自定义异常?
133、你所做的项目中异常是如何处理的?
134、Synchronized 和 static Synchronized 的区别?
135、内存泄露与内存溢出的区别?
137、字符流和字节流的区别?
141、Jsp是java类吗?具体是哪个?
142、Jsp中的静态include与动态include的区别?
143、js中null 与 undefined的区别?
144、servlet为什么不是线程安全的? 如何保证servlet的线程安全?
145、hibernate中 load和get的区别?
146、hibernate的工作原理?
147、hibernate与mybatis的共同点,不同点?
148、hibernate如何配置懒加载 ?
149、hibernate 中的注解与配置模式有什么区别?
150、webservice有几种实现方式?
151、webservice配置步骤?
152、数据库设计表原则?
154、左连接与右连接的区别?
155、Spring中AOP主要用于哪些方面?
156、Spring中AOP的实现方式?
159、conCurrentHashMap的实现方式?
160、threadLoacl的结构? 主要用于什么场景?
161、java中什么是重入锁,什么是读写锁,它们各自的应用场景?
162、什么情况会发生死锁,列举一种,发生后如何解决?
163、JVM发生OOM 是如何造成的,列举一种?
164、如何快速定位和处理OOM (内存泄露与内存溢出)?
165、Jvm的垃圾回收机制有哪些? 高级
167、gc怎样判定对象是需要回收的?
168、什么是双亲委派模型? 优点是什么?
170、hibernate的缓存机制?
171、使用hibernate在性能方面有哪些考虑?
174、Webservice如何控制事务?
176、索引是越多越好吗,为什么?如何衡量索引后的性能?
177、什么情况下索引会不起作用?
180、Sql优化的逻辑?
181、Spring中如何配置多个数据源(JPA/Hibernate/Mybatis)?
182、Cglib的动态代理与JDK的动态代理有什么区别?
192、如何处理socket丢包?
194、个人发展的长期和短期规划是什么?
196、简要描述一下数据库的主键/外键和约束,以及追加的sql命令。
197、如何修改Tomcat服务器的端口号,如何让tomcat启动指定目录下的web程序。
198、简要介绍一下数据库连接池,以及一些常用的连接池(默认是c3p0,还有proxool,druid等)的配置和使用。
199、Hibernate中list()方法和iterator()方法有什么差别,get()和Load()方法有什么差别 中级
200、请谈一下Spring的事务管理方式,以及如何将spring的事务管理配置到指定服务方法上。
201、Spring环境下多数据源的事务管理如何实现,可以使用哪一些框架(Atomikos,JOTM)?
202、简要介绍一下ExecutorService对象有哪几种,每一种ExecutorService有什么不同?如何让一个操作在线程池中运行?
203、 ThreadPoolExecutor中,submit方法和excecute方法有什么不同? 中级
204、简要介绍一下线程的几种状态,线程进入挂起状态可能有哪几种情况,每种情况如何唤醒? notify和notifyAll方法有什么不一样?
回答sleep和资源使用阻塞就可以
205、简要说明Java Input/OutputStream和Reader的差别,如果要设置读/写内容的编码集,在哪一个上设置? Java的I/O机制使用了什么设计模式?
209、Spring 初始化一个Bean的方式有哪几种,如何将一个值赋给Bean对象? 中级
210、在Java程序中如何获得Spring容器中的一个对象?有几种方式?
211、在Java程序中如何获得Spring容器的上下文对象?
212、Hibernate对象类中有的属性是延迟加载的,如何在一次Session连接获取数据对象时同时获取这些属性? 高级
213、Mybatis如何实现分页,如何针对不同的数据库实现统一的分页? 高级
214、请简要介绍Mybatis中缓存的使用,Mybatis的缓存不同Session间可以互相访问么?Mybatis使用的缓存何时会更新?高级
216、 java内存参数中的-Xms,-Xmx,-Xss,-XX:PermSize,-XX:MaxPermSize各自的含义
217、 Tomcat和 在服务器端和客户端的连接方式上有什么差异
222、Mybatis的查询命令中如果有多个参数该如何写Mapper文件?
223、对Hibernate操作的拦截哪两种方式?这两种方式有什么差别?
224、Spring MVC Controller中的方法,如何指定请求的返回数据形式?
225、使用Spring MVC搭建的Restful请求,如何指定执行的请求的编码集?
226、请简要介绍Spring MVC中使用的几个注解的含义:@RequestBody, @RequestMapping, @RequestParam, @PathVariable
227、在Spring MVC中,“xxxRequest/{id}”和“xxxRequest?id=?”两种类型的请求有什么不同?
228、Spring MVC的请求中如果包含多个参数时,怎样定义参数能使得请求方法更简洁?
231、什么是Java的内部类,为什么要引入内部类,请举出一个java内部类的例子?初级

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,680评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,513评论 18 399
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 3,623评论 5 99
  • 一. Java基础部分.................................................
    wy_sure阅读 3,777评论 0 11
  • 电影院里彩色光刺破黑暗像宇宙中的射线 他们在你的脸上晕开星云般瑰丽的神态 蓝色是忧郁红色是开怀 ...
    奢念阅读 221评论 0 0