- 浏览: 1944312 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
cht的大摩托:
学习
IBM WebSphere Performance Tool / ISA / jca457.jar / ha456.jar / ga439.jar -
leeking888:
有没有linux 64位的相关librfccm.so等包啊?
web test LoadRunner SAP / java / Java Vuser / web_set_max_html_param_len -
paladin1988:
非常不错,多谢了。。
appServer IBM WebSphere / WAS 7 / 8.5 / was commerce -
hzxlb910:
写了这么多
net TCP/IP / TIME_WAIT / tcpip / iperf / cain -
acwyg:
ed2k://|file|LoadRunner.V8.1.is ...
web test performance tools / linux performance tools / windows performance tools
J2EE1.4_API.rar
http://www.iteye.com/topics/download/00ef37b9-3fd5-3ffa-8981-c259054a3e93
Lindows的博客文章
backup
查看目录
- 1. Humor
- 2. Java
- 2.1 vector
- 2.2 java datastructural
- 2.3 java image
- 2.4 basic java
- 2.5 java pattern
- 2.6 java jdk / api
- 2.7 java rsource
- 2.8 java jdbc4.0
- 2.9 java properties
- 2.10 java jar
- 2.11 java xml
- 2.12 java socket
- 2.13 java jvm / xVM
- 2.14 java timer\date
- 2.15 java temp
- 2.16 com.javaeye.lindows.lang
- 2.17 java RegExp
- 2.18 java scjp
- 2.19 java unicode
- 2.20 java protocol
- 2.21 java security
- 3. Java EE
- 3.1 framework Axis
- 3.2 JAVA EE Resource
- 3.3 JAVA EE WebBasic
- 3.4 framework hibenate3
- 3.5 JSP/Servlet/JSTL/JSF
- 3.6 framework struts2
- 3.7 JAVA EE SSH
- 3.8 JAVA EE JSP
- 3.9 framework log4j
- 3.10 framework spring2.5
- 3.11 framework jdon5.1
- 3.12 product wiki confluence
- 3.13 framework fckedit
- 3.14 framework SiteMesh
- 3.15 JAVA EE Projects
- 3.16 framework junit
- 3.17 JSP temp
- 4. Java Tools
- 5. Web Server
- 5.1 webServer Tomcat5
- 5.2 appServer WebSphere
- 5.3 appServer WebLogic
- 5.4 appServer JBoss
- 5.5 httpServer Apache HTTP Server
- 5.6 httpServer IBM HTTP Server
- 5.7 httpServer lighttpd 1.4
- 5.8 httpServer nginx 0.6
- 5.9 cacheServer MemCache
- 5.10 cacheServer java*
- 5.11 ProxyServer Squid
- 5.12 Transaction Server CICS
- 5.13 mailServer Apache James
- 6. Web Script
- 7. Web Database
- 7.1 db db2
- 7.2 db oracle dba
- 7.3 db PostgreSQL 8.2.3
- 7.4 db oracle scripts
- 7.5 db oracle tools
- 7.6 db mysql
- 7.7 db sqlserver
- 7.8 db oracle config
- 7.9 db derby
- 7.10 db Oracle Berkeley DB
- 7.11 db oracle parser
- 7.12 db oracle suning
- 7.13 oracle temp
- 7.14 oracle toad & plsql temp
- 7.15 oracle sqlserver & oracle temp
- 7.16 oracle mysql & oracle temp
- 7.17 oracle sql tables temp
- 7.18 oracle sql statement temp
- 7.19 db mysql6 temp
- 7.20 db sqlserver2005
- 7.21 db db2 9c
- 7.22 db web pagination
- 7.23 db sql example
- 7.24 db oracle imp/exp
- 8. OS
- 8.1 Win FTP \ BAT \ DOS \ REG \ NET
- 8.2 Linux + IPC
- 8.3 Linux + TSM
- 8.4 Win + DOS
- 8.5 Linux + USBsys
- 8.6 Linux + Command
- 8.7 Linux + Database
- 8.8 Linux + PDF
- 8.9 Linux/Aix analysisTool
- 8.10 Linux + HtmlTools
- 8.11 Linux + SCIM / Fitx / gcin /ibus
- 8.12 Win + NET
- 8.13 Win + Office
- 8.14 UNIX + AIX
- 8.15 UNIX + AIX HACMP
- 8.16 Linux + DownloadTool
- 8.17 Linux + Windows
- 8.18 Linux + SVN / CVS
- 8.19 Linux + zipTool
- 8.20 Linux + IDS
- 8.21 Linux + BusyBox
- 8.22 Linux + JDK/TOMCAT/Dia(Planner)
- 8.23 Linux + software
- 8.24 Linux + safeTool
- 8.25 Linux + ftpTool
- 8.26 Linux + TranslateTool
- 8.27 Linux + proxyTool / vpn
- 8.28 Linux + resouces
- 8.29 Linux + BackupTool
- 8.30 Linux + browerTool
- 8.31 Linux + themeTool
- 8.32 Linux + Shell/Man
- 8.33 linux + ClusterTool
- 8.34 Linux + mediaTool
- 8.35 Win + cygwin / gvim
- 8.36 Linux + chmTool
- 9. XML
- 10. My Live
- 11. My Projects
下载链接
http://lindows.iteye.com/blog/download_pdf/1163
reference:http://blog.163.com/ren_bozhou/blog/static/51689589200802474935458/
Information Technology
no commit...
http://www.seeitco.com
vo
值对象《====》to传输对象《====》pojo最根本的java对象
即:只包含get();set();方法的类
PO/POJO/BO/DTO/VO的区别
PO :persistent object持久对象
1
.有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。
2
.在hibernate持久化框架中与insert/delet操作密切相关。
3 .PO中不应该包含任何对数据库的操作。
---------------------------------------------------------
POJO :plain
ordinary java object 无规则简单java对象
一个中间对象,可以转化为PO、DTO、VO。
1
.POJO持久化之后==〉PO
(在运行期,由Hibernate中的cglib动态把POJO转换为PO,PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明,由于是运行期生成PO,所以可以支
持增量编译,增量调试。)
2 .POJO传输过程中==〉DTO
3 .POJO用作表示层==〉VO
PO 和VO都应该属于它。
----------------------------------------------------------
BO
:business object 业务对象
封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用)。
关于BO主要有三种概念
1 、只包含业务对象的属性;
2 、只包含业务方法;
3 、两者都包含。
在实际使用中,认为哪一种概念正确并不重要,关键是实际应用中适合自己项目的需要。
----------------------------------------------------------
VO :value
object值对象 / view object表现层对象
1 .主要对应页面显示(web页面/swt、swing界面)的数据对象。
2
.可以和表对应,也可以不,这根据业务的需要。
注
:在struts中,用ActionForm做VO,需要做一个转换,因为PO是面向对象的,而ActionForm是和view对应的,要将几个PO要显示的属性合成一个ActionForm,可以使用BeanUtils的copy方法。
----------------------------------------------------------
D TO (TO)
:Data Transfer Object数据传输对象
1 .用在需要跨进程或远程传输时,它不应该包含业务逻辑。
2
.比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO
内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。
----------------------------------------------------------
DAO :data
access object数据访问对象
1 .主要用来封装对DB的访问(CRUD操作)。
2
.通过接收Business层的数据,把POJO持久化为PO。
J bpm了解表结构,然后就能使用hibernate进行操作。
Struts的工作流程:
S truts是一个遵循mvc模式的web框架,说白了他就是一个大大的serverlet这个servlet名字叫actionservlet,我们可以在web.xml文件里面把一组请求影射给这个sevlet,也就是影射给这个struts框架,当actionservlet接受到请求后,会把请求交给一个action去处理,每一个请求到底映射给那一个action,是通过找配置文件。 S truts-config.xml 其实这个文件的文件名和路径是可以配置的,
当他把请求交给action之前,会把请求参数封装成一个formbean,当效研有问题时就返回到原来的页面,当成功显示,用actionforward封装。
支持国际化,也提供了相应的标签。剩下的是细节的应用。
千万不要把全局变量放在action中。整个对象被反复的调用,其值会被改变。
<html:form>显示自己action所指向的那个formbean对象的值。如果内存中不存在,则它new一个新的formbean.。
和action所关联的域的对象在哪里呢,formbean默认是在session中。 J sp是从小的与到大的域去找。
S ession 里面不能存储用户的机密信息,因为session是不安全的是可以伪装的。
如何防止表单提交: 有两种方法:1 、当第一次处理给客户端送表单 ,首先用隐藏字段的形式安排一个唯一的号码 并自己保存一份;当提交时会把,表单提交给第二个action, 第二个action中的处理流程是:首先拿着请求中的 唯一号码,在内存中是否存在(session)。
2、saveToken(request). S truts可以自动完成。
I stokenvalidat()
resetToken
struts中有个 redirect属性,可以防止刷新。
面试题 有垃圾回收器 内存有没有 可能益处
我要在笔试题上进行扩展:传值 与 传引用,要说什么时候会用到传引用,如果想让方法返回多个对象,可以把这些对象作为引用传递进去,用作输出参数。另外,如果不是要返回结果,而是作为输入参数,要注意一些技巧:
F unc(map){ mapclone = map.clone(); mapclone … .. }
Func(map){ mapa = c }
Session与Cookie的区别
http://chenyubo.iteye.com/blog/219775
Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID
为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一
SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也
会失效。
服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。
可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。
Cookie是客户端的存储空间,由浏览器来维持。
在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码:
< % cookie[]cookies = request.getCookies();
if (cookies.lenght == 0 || cookies == null)
doStuffForNewbie();
//没有访问过
}
else
{
doStuffForReturnVisitor(); //已经访问过了
}
% >
这是很浅显易懂的道理,检测COOKIE的存在,如果存在说明已经运行过写入COOKIE的代码了,然而运行以上的代码后,无论何时结果都是执行
doStuffForReturnVisitor(),通过控制面板-Internet选项-设置-察看文件却始终看不到生成的cookie文件,奇怪,
代码明明没有问题,不过既然有cookie,那就显示出来看看。
cookie[]cookies = request.getCookies();
if (cookies.lenght == 0 || cookies == null)
out.println("Has not visited this website");
}
else
{
for (int i = 0; i < cookie.length; i++)
{
out.println("cookie name:" + cookies[i].getName() + "cookie value:" +
cookie[i].getValue());
}
}
运行结果:
cookie name:JSESSIONID cookie value:KWJHUG6JJM65HS2K6
为什么会有cookie呢,大家都知道,http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客
户的上下文信息,那么要怎么才能实现网上商店中的购物车呢,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器
端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为
JSESSIONID的输出cookie,我们叫做session cookie,以区别persistent
cookies,也就是我们通常所说的cookie,注意session
cookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是我们刚才看到的JSESSIONID,我们通常情是看不到JSESSIONID的,但
是当我们把浏览器的cookie禁止后,web服务器会采用URL重写的方式传递Sessionid,我们就可以在地址栏看到sessionid=
KWJHUG6JJM65HS2K6之类的字符串。
明白了原理,我们就可以很容易的分辨出persistent cookies和session
cookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,session cookie针对某一次会话而言,会话结束session
cookie也就随着消失了,而persistent
cookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如
session cookie安全了。
通常session
cookie是不能跨窗口使用的,当你新开了一个浏览器窗口进入相同页面时,系统会赋予你一个新的sessionid,这样我们信息共享的目的就达不到
了,此时我们可以先把sessionid保存在persistent
cookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过session cookie和persistent
cookie的结合我们就实现了跨窗口的session tracking(会话跟踪)。
在一些web开发的书中,往往只是简单的把Session和cookie作为两种并列的http传送信息的方式,session
cookies位于服务器端,persistent
cookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发web
service了。
http://yueguc.iteye.com/blog/245449
在线用户列表 和 重复登陆
解决两个问题
:
1.
实现在线用户列表
2.
当用户在异地登录后,使前一次登录自动退出
实现方法
:
用户登录时,会创建一个session
,用于保存用户信息。将所有用户登录时的session
值与ID
存入ServletContext
中,显示在线列表的时候,就从ServletContext中取得用户登录的session值,从中取得用户信息。
1.
登录:
先从ServletContext
中取出存放用户登录的session
相关信息,检查这个列表,如果已经存在相同的登录信息,则说明用户之前已经登录过,移除前面一条记录。
再把此次登录的信息加入到ServletContext
中。
2.监听:
实现SessionListener类,当session失效的时候,从ServletContext中移除相应记录。
3.过滤:
过滤所有页面,sesison失效后转向登录页面。但是要实现用户二次登录后强制先前的登录失效,需要在这里控制。
登录时存入的是session值和session ID,用户二次登录时移除了前线记录,存入的session值是相同的,但是ID却不同。
当第一次登录的页面请求的时候,在这里检查ServletContext中是否存在当前的session值与ID记录。如果没有就销毁这个session。
参考代码:
存放的时候有很多中方法,我选择的是将session
值与ID
先存入一个List
,在将这个List
存入另一个List
,再存到ServletContext
中。
代码仅供参考,有不合理的地方,希望大家给出意见。
============================1.
登录部分============================
//先从ServletContext中获得存放sessioninfo的List
List userlist = (List) this
.servlet.getServletContext()
.getAttribute("userlist");
//如果是首个用户登录,sessionlist为空,new一个
if
(userlist == null
) {
userlist = new
ArrayList();
}
//遍历List
for
(int
i = 0; i < userlist.size(); i++) {
List sessionInfoTemp = (List) userlist.get(i);
//检查是否存在一个与当前session值相同,但是ID不同的记录
if
(sessionInfoTemp.get(0).toString().equals(session.getAttribute("emp").toString())&&
!(sessionInfoTemp.get(1).equals(session.getId()))) {
//如果存在,remove这一记录
userlist.remove(sessionInfoTemp);
}
}
// 把session值、ID 存入 sessioninfo
List sessioninfo = new
ArrayList();
sessioninfo.add(session.getAttribute("emp"));
sessioninfo.add(session.getId());
//sessioninfo 存入 List
userlist.add(sessioninfo);
//List存入ServletContext
this
.servlet.getServletContext().setAttribute("userlist", userlist);
============================2.
监听部分============================
public
void
sessionDestroyed(HttpSessionEvent arg0) {
// TODO
Auto-generated method stub
HttpSession session = arg0.getSession();
if
(session.getAttribute("emp")!=null
){
List list = (List)session.getServletContext().getAttribute("userlist");
List userTemp = new
ArrayList();
userTemp.add(session.getAttribute("emp"));
userTemp.add(session.getId());
list.remove(userTemp);
session.getServletContext().setAttribute("userlist", list);
}
}
============================3.
过滤部分============================
public
void
doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws
IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession();
/**
* 同一用户二次登陆问题 用户请求的提交到这里,通过检查List总的记录销毁session
*/
// 从ServletContext中取出List
List sessionlist = (List) session.getServletContext().getAttribute(
"userlist");
if
(sessionlist == null
) {
sessionlist = new
ArrayList();
}
// 用于记录状态
boolean
temp = false
;
Iterator it = sessionlist.iterator();
while
(it.hasNext()) {
List sessioninfo = (List) it.next();
/**
* 判断: 如果sessioninfo中没有当前session的值与ID信息,则表明该用户已经第二次登陆了
* 登陆的时候第一次登陆时候的信息被从List中移除了。
*/
if
(sessioninfo.get(0).toString().equals(
session.getAttribute("emp").toString())
&& sessioninfo.get(1).equals(session.getId())) {
// session值与当前ID匹配
temp = true
;
}
}
// 存在了第二次登陆,销毁session
if
(!temp) {
session.invalidate();
}
String strSession = null
;
try
{
strSession = session.getAttribute("emp").toString();
} catch
(Exception e) {
}
/**
* 如果session为空,返回登陆页面
*/
if
(strSession == null
) {
response.setCharacterEncoding("gb2312");
response
.getOutputStream() .print("<script>window.top.location.href='/index.jsp';
alert('超时或账号在其它地方登录,请重新登录!');</script>");
} else
{
chain.doFilter(req, res);
}
}
----------------------end------------------------------------
- Lindows的博客文章.rar (3.5 MB)
- 下载次数: 4
- J2EE1.4_API.rar (2.9 MB)
- 下载次数: 1
发表评论
-
JAVA EE BigData Apache Storm / Spark / Samza / apache storm / Flink
2016-11-23 16:38 1198sd http://storm.apache.org/ ... -
JAVA EE Code Quality / Sonar / findbugs / checkstyle / cobertura(coverage) / PMD
2016-11-11 10:53 1337s http://sonar.oschina.net/ ... -
JAVA EE Apache Zookeeper / Google Chubby
2016-11-08 00:00 2431s http://zookeeper.apache.or ... -
framework apache commons
2009-12-14 15:24 1630http://commons.apache.org/ ... -
framework Schedule Quartz
2009-10-13 10:53 4324quartz http://www.opensymp ... -
Java EE search_lucene xapian
2009-09-03 00:43 2435搜索引擎产品 http://www.bing.com ... -
Java EE VM Montior JMX / Hyperic HQ / OpenNMS /
2009-08-24 16:54 3478Monitoring and Managemen ... -
framework ldap
2009-08-17 12:29 1288http://www.oschina.net/project/ ... -
JAVA EE robot_ItSucks
2009-08-15 15:19 1535http://open-open.com/open223668 ... -
JAVA EE Projects_apacheFoundation
2009-07-29 09:47 1377Apache Software Foundation Di ... -
framework freemarker / velocity
2009-03-26 21:16 2549CMS 静态化参考 JAVA静态化,如何生成html ... -
JAVA_EE EJB
2009-03-25 22:02 1441E:\lindows\workspace\ejb>tre ... -
JAVA EE JSP 2.1
2009-03-07 00:22 2276JSP 2.1对JSP2.0的改动 http://mar ... -
JAVA EE JSP_JNDI
2009-02-24 12:24 1734dsfdsa http://lindows.iteye.c ... -
JAVA EE JSP_EL
2009-02-21 17:28 1588http://www.javapassion.com/j2 ... -
framework JasperReport
2008-12-06 17:16 1424JasperReport报表设计总结 ... -
framework osworkflow / jbpm
2008-12-01 20:58 3707osworkflow http://gr ... -
JAVA EE JSP_Servlet
2008-11-01 16:25 1802Servlet API htt ... -
framework junit
2008-10-29 15:30 1960http://www.appperfect.com/ A ... -
JAVA EE Projects_sourceforge
2008-10-13 14:30 4697http://www.sourceforge.net/ ...
相关推荐
《Java EE 7 Developer Handbook》是一本专为Java EE 7开发者编写的参考指南,它旨在帮助读者开发出专业级别的应用程序。该手册为Java EE 7技术栈提供了详尽的指导和参考资料,是Java EE开发者必备的专业文献。书中...
Java EE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级Web应用的框架集合,它提供了丰富的服务和组件,使得开发者能够快速开发出分布式、多层架构的应用程序。本教程由知名讲师郑阿奇编著,旨在...
Java EE 7(Java Platform, Enterprise Edition 7)是Java平台的一个版本,专注于为企业级应用程序开发提供服务。这个教程中的examples代码是学习Java EE 7技术的重要资源,它与官方教程紧密配合,帮助开发者深入...
《精通Java EE:精通Java EE 整合应用案例》是一本深入探讨Java企业级开发的专著,其第五章的源代码着重展示了如何在实际项目中整合和运用Java EE技术。这一章节的内容涵盖了多种Java EE核心组件的实战应用,旨在...
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个企业级应用开发平台,它构建在Java SE(标准版)的基础上,为开发和部署分布式、多层的企业级应用程序提供了丰富的API和工具支持。Java EE旨在...
Java EE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的版本,它提供了丰富的组件和服务,用于构建分布式、多层架构的企业应用程序。本资料包包含"精通Java EE:精通Java EE 整合应用...
Java EE Web编程是企业级应用开发的重要领域,它基于Java平台,为构建分布式、多层架构的Web应用程序提供了丰富的框架和API。Eclipse作为一款强大的集成开发环境(IDE),广泛用于Java开发,包括Java EE项目。这个...
Java EE(Java Platform, Enterprise Edition)是用于构建和部署企业级Web应用程序的框架。XML Schemas在Java EE中扮演着至关重要的角色,特别是在部署描述符(Deployment Descriptors)的定义和验证方面。本文将...
本书《Beginning JAVA EE 7经典》是一本专注于Java EE(Java Platform, Enterprise Edition)7规范的入门到高级技术指导书籍,涵盖了Java EE核心技术如JSF(JavaServer Faces)、CDI(Contexts and Dependency ...
JAVA EE,全称为Java Platform, Enterprise Edition,是Java平台企业版的简称,是Oracle公司推出的一种用于构建企业级分布式应用程序的框架。它为开发者提供了在服务器端开发应用程序的一系列标准和API,包括Web组件...
Java EE,全称为Java Platform, Enterprise Edition,是Java平台下的企业版,主要用于构建分布式、多层的企业级应用程序。它提供了一系列的API和服务,包括Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java ...
Java EE 架构师认证指南 本资源提供了 Sun 官方的 Java EE 架构师认证考试所需要准备的知识.pointer。该考试由三部分组成:多选题测试、任务指派和对指派的任务进行陈述和测试。 体系结构 Java EE 架构师需要了解...
精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码.rar精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码.rar精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码....
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个企业级应用开发平台,它构建在Java SE基础之上,为开发和部署分布式、多层的企业级应用程序提供了丰富的API和工具。本教程旨在帮助读者全面理解...
Java EE 6(Java Platform, Enterprise Edition 6)是Java技术在企业级开发中的一个里程碑,它为构建可扩展、高性能、分布式的企业级应用程序提供了全面的框架和规范。本教程由Sun Microsystems(后被Oracle收购)...
《精通Java EE:精通Java EE 整合应用案例\源代码第三章》是关于Java企业级应用开发的深度学习资源,主要聚焦于实际项目中的整合应用。本章内容可能涵盖多个Java EE技术的综合运用,如Servlet、JSP、EJB、JPA、JSF、...