- 浏览: 1944304 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
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
http://struts.apache.org/2.0.11.2/index.html
http://struts.apache.org/download.cgi#struts212
http://struts.apache.org/2.0.11.2/docs/home.html
http://apache.mirror.phpchina.com/struts/binaries/struts-2.0.11.2-all.zip
http://www.verycd.com/topics/210454/
http://www.verycd.com/topics/117656/
JSP+DAO
http://www2.mldn.cn/down/mldnjava/demo/%E6%A1%88%E4%BE%8B-jsp+DAO%E5%AE%9E%E7%8E%B0%E7%95%99%E8%A8%80%E7%AE%A1%E7%90%86%E7%A8%8B%E5%BA%8F.rar
MVC+DAO
http://www2.mldn.cn/down/mldnjava/demo/%E6%A1%88%E4%BE%8B-mvc+dao%E5%AE%9E%E7%8E%B0%E7%95%99%E8%A8%80%E7%AE%A1%E7%90%86%E7%A8%8B%E5%BA%8F.rar
Windows下本地DTD( Document Type Definition )应用
project name :struts2
project libs :
(basic )commons-logging-1.1.jar
(basic )freemarker-2.3.8.jar
(basic )ognl-2.6.11.jar
(basic )struts2-core-2.0.6.jar
(basic )xwork-2.0.1.jar
(plugin )struts2-spring-plugin-2.0.11.2.jar
打开jar文件
struts2-core-2.0.11.jar>>>> struts-2.0.dtd扒出来放入
D:\workspace\struts2\WebRoot\WEB-INF\dtd\struts-2.0.dtd
struts2-spring-plugin-2.0.11.2.jar>>>> struts-plugin.xml扒出来放入
D:\workspace\struts2\WebRoot\WEB-INF\struts-plugin.xml
将xml中:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd
">
修改为:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"D:\workspace\struts2\WebRoot\WEB-INF\dtd\struts-2.0.dtd
">
或:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"dtd\struts-2.0.dtd
">
ok
struts文件上传
http://hi.baidu.com/kukuyan/blog/item/12bad81696e6aa1d962b43c7.html
struts2 入门
http://chenshuang.iteye.com/blog/136527
Struts2 CRUD
http://www.iteye.com/topic/65208
Struts2 实现ip拦截
http://czp.iteye.com/blog/247679
最近在帮学校做一个网站,其中部分内容要求对校外IP的屏蔽但对校内IP开放,思考后决定实现基于struts2拦截器的IP拦截器,发上来跟大家一起交流··
基本思想:先将的IP地址转换成long型的数,然后比较IP的大小来判断是否处在符合条件的IP地址段。
IP地址转化成long型数的算法:
- public long getIP(InetAddress ip) {
- byte [] b = ip.getAddress();
- long l = b[ 0 ] << 24L & 0xff000000L | b[ 1 ] << 16L & 0xff0000L
- | b[2 ] << 8L & 0xff00 | b[ 3 ] << 0L & 0xff ;
- return l;
- }
public long getIP(InetAddress ip) { byte[] b = ip.getAddress(); long l = b[0] << 24L & 0xff000000L | b[1] << 16L & 0xff0000L | b[2] << 8L & 0xff00 | b[3] << 0L & 0xff; return l; }
在struts2相应的action中编写如下判断是否用户是校内用户的方法(方法参数中ip1的IP大小应该大于ip2的IP大小):
- public void isSchoolUser(String ip1, String ip2) throws Exception {
- // 得到用户的IP地址
- String s = ServletActionContext.getRequest().getRemoteAddr();
- long l = getIP(InetAddress.getByName(s));
- // 设置IP地址段
- long l1 = getIP(InetAddress.getByName(ip1));
- long l2 = getIP(InetAddress.getByName(ip2));
- // 判断用户IP是否处在IP段中
- if (l >= l1 && l <= l2) {
- ActionContext.getContext().getSession().put("isSchoolUser" , "yes" );
- }
- }
public void isSchoolUser(String ip1, String ip2) throws Exception { // 得到用户的IP地址 String s = ServletActionContext.getRequest().getRemoteAddr(); long l = getIP(InetAddress.getByName(s)); // 设置IP地址段 long l1 = getIP(InetAddress.getByName(ip1)); long l2 = getIP(InetAddress.getByName(ip2)); // 判断用户IP是否处在IP段中 if (l >= l1 && l <= l2) { ActionContext.getContext().getSession().put("isSchoolUser","yes"); } }
上面的方法中用到了InetAddress,所以需要引入java.net.InetAddress包;
接着再编写IP拦截器如下:
- public class IpAuthorityInterceptor extends AbstractInterceptor {
- public String intercept(ActionInvocation invocation) throws Exception {
- ActionContext context = invocation.getInvocationContext();
- Map<String, String> session = context.getSession();
- if ( "yes" .equals(session.get( "isSchoolUser" ))){
- return invocation.invoke();
- } else {
- context.put("AuthorityError" , "你是外网用户无法访问此资源" );
- return "error" ;
- }
- }
- }
public class IpAuthorityInterceptor extends AbstractInterceptor { public String intercept(ActionInvocation invocation) throws Exception { ActionContext context = invocation.getInvocationContext(); Map<String, String> session = context.getSession(); if ("yes".equals(session.get("isSchoolUser"))){ return invocation.invoke(); } else { context.put("AuthorityError", "你是外网用户无法访问此资源"); return "error"; } } }
最后当然是配置IP拦截器,让它为你工作吧:
- < interceptors >
- < interceptor name = "IpAuthorityInterceptor"
- class = "web.IpAuthorityInterceptor" >
- <!--此class对应你项目中的IpAuthorityInterceptor的编写位置-->
- </ interceptor >
- < interceptor-stack name = "IpAuthority" >
- < interceptor-ref name = "defaultStack" > </ interceptor-ref >
- < interceptor-ref name = "IpAuthorityInterceptor" > </ interceptor-ref >
- </ interceptor-stack >
- </ interceptors >
<interceptors> <interceptor name="IpAuthorityInterceptor" class="web.IpAuthorityInterceptor"> <!--此class对应你项目中的IpAuthorityInterceptor的编写位置--> </interceptor> <interceptor-stack name="IpAuthority"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="IpAuthorityInterceptor"></interceptor-ref> </interceptor-stack> </interceptors>
此时在你的action中加入相应的配置就可以使用该IP拦截器了
Struts Action线程安全的是基于struts2的,而说线程不安全的是基于struts1的。
总结:
struts1中,每一个Action在web容器中只会有一个实例,因此它是不安全的(我们必须明白什么样的变量是线程安全的,方法内的局部变量和方法的参数变量都是线程安全的,所以即使系统只启用一个Action对象为所有线程服务,因为Form对象对每个请求来说都是单独创建的,而且是做为参数传到Action里,所以Form对象一定是线程安全的. )只要在Action中不使用实例变量就可以避免线程不安全的问题了。
struts2中,Action是多实例的,每一个请求会创建一个action。
Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的;Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题 。
Servlet也是线程不安全的。有关于Servlet的线程安全问题请看这篇文章:http://www.yesky.com/334/1951334.shtml。
WebSphere 6.1 上 struts2 程序无法找到Action 解决方法
WebSphere升级到6.1.0.5 以后所有struts2的程序都会发生Action找不到的情况,解决方法如下,服务器>应用程序服务器>[选择所使用的服务 器]>Web 容器设置>Web 容器>定制属性,增加名称为“com.ibm.ws.webcontainer.invokefilterscompatibility”
的定制属性,值为true。
华为 uniportal MVC
http://unionportal.huawei.com
Uniportal 平台和baseline版本基础之上进行WESMAP开发,完成营业厅操作员、个人用户、集团操作员等管理界面开发
.screen 后缀名
action / ejbaction
较多的配置文件
什么是JAVA,什么是UNIPORTAL
http://blog.csdn.net/UB/archive/2004/06/24/24673.aspx
前言:
本文是根据我的工作经验。主要介绍 JAVA 的编程思想,框架等概念,并且根据我对 uniportal 的 2 周学习,介绍 uniportal 的相关概念。本文不对 uniportal 的具体使用进行说明,请参看相关文档。本文主要目的在于编程技术和思想的交流,难免有错误之处,恳请指正。
1. 什么是 JAVA ?
JAVA 是种编程语言,但他不仅限于一种语言,他的流行告诉我们,他是一种编程思想的革新,也是网络应用的主力。
JAVA 由 SUN 公司在上世纪 90 年代初推出,最早的应用是嵌入式的小应用,比如,微波炉,遥控器等家电,满足独立于平台的需要。后来随着 Internet 的发展,从 JAVA Applet 的 WEB 应用开始流行。以前的编程大多基于某种特定平台(操作系统),但是随着网络的发展,跨平台,可移植性的需求变得很迫切。“应用软件”发展的根本是要脱离硬件平台和操作系统平台的,这也是 JAVA 越来越流行的主要原因。
(说明: JDK 是 JAVA 的基本开发包(也就是 API ),主要由 SUN 提供( IBM 也提供,稍有不同)。 JDK1.0 以前叫 JAVA , JDK1.1 以后变化很大,一般叫 JAVA2 。)
JAVA 的编程技术基本上是开源的, JAVA 的发展非常快,目前 JAVA 的应用主要有 3 个方面:
(1) J2ME : JAVA2 小应用平台。主要是手机, PDA 等终端上的应用,如手机游戏等无线方面的应用,主要使用 MIDlet 。
(2) J2SE : JAVA2 标准应用平台。基础的 JAVA 编程核心包,包括 swing ( awt )界面编程, util 工具包, JDBC 数据库编程等。
(3) J2EE : JAVA2 企业级应用平台。主要的企业级网络应用平台,常说的三层(或者 N 层)架构就是说这个平台。包括 EJB , JSP , SERVLET 等。
注意:上面所说的 J2EE 等,是说“平台”(或者环境),我的理解是:与业务无关的软件语言系统平台,一种编程环境(其实就是一组 API , JAVA 语言的实际运用环境)。他是在操作平台(即操作系统)与业务应用平台(即框架,后面会说到)的中间的基础操作层。
2. 软件为什么要分层?
软 件开发的发展必然带来可复用性,和可扩展性的需求不断增加,这与其他行业是一样的,人们总是不喜欢大量的重复劳动。而分层的根本目的就是把工作细分,职责 明确划分。这样就可以把一个大系统划分成若干个部分的子系统,从而我们可以根据不同需求,复用这些子系统,或者扩展这些子系统。这也是软件的目标:“高内 聚,低耦合”。子系统“高内聚”,层与层之间“低耦合”。很多人经常说的“脱耦”,就是指降低耦合度,减少层与层之间的关联性,从而提高复用性和扩展性。
常见的 JAVA 应用,不仅仅是 BS 的结构。一般的三层架构是指:客户应用层,商业逻辑层,数据层。这其中每一层又可以根据具体应用分层若干层。
( 1 )客户应用层,对于网络应用常见的客户端是使用浏览器( Browser ),所以常见的是使用 JSP 等 BS 应用。不过,客户端也可以使用 GUI ,而且 JAVA 的 GUI 做出来是很漂亮的,他可以通过 JAVA WEB START 进行增量下载,他与服务器短的连接与 JSP 没什么区别。对于 uniportal 而言,这也是为什么需要 WEBAction ,又需要 EJBAction 的原因,因为 WEBAction 是客户层的东西,你可以根据需要把 JSP 的东西换成 GUI ,而 EJBAction (商业逻辑层)不用变。
( 2 ) 商业逻辑层,是很重要的一层。因为对于大多数应用系统,客户端和数据层是比较简单的,而商业逻辑是最复杂的。特别是大型行业软件,如:地税。不把商业逻辑 层脱离开,那么整个系统的编程是很困难的,而且,维护的难度是无法想象的。这也是其他很多语言的弱点,不能把商业逻辑层分离,软件如果要升级,比如数据库 升级更换,很可能带来整个系统的重做。这对一个几千万的软件项目是很难容忍的。
( 3 )数据层,我们目前常用的数据存储是使用关系型数据库,他的发展已经有很长的历史,而且已经很壮大。但是他与面向对象的编程是不协调的。打个比方:你家有 2 辆车,关系型数据库的做法是把 2 辆车的轮子拆下来放在一个表里,把方向盘拆下来放在另一个表里,把座位拆下来放在另一个表里 …… 而面向对象的编程,在保存的时候,需要把一辆车开进车库放起来,在使用的时候,可以把整辆车开出来使用。显然,我们更喜欢面向对象的存储方式。所以, JAVA 里有很多, O/R Mapping 的工具,用它实现对象与关系数据库的映射,比如 EJB ( Entity Bean ), Hibernate 等。这也是编程技术的一种革新,一个飞跃。另一方面,对象型数据库也发展了好几年了(很多是基于 XML 的),但是据我所知,困难重重。主要是性能和效率上的问题很难解决,而这是关系型数据库的特长,比如:各种复杂的查询。
3. 什么是面向对象( OO )?
JAVA 是真正面向对象的编程语言,你可能会说, JAVA 中也有 8 种基本类型, int , char , double 等,那不是对象。是的,他们不是对象,他们其实是“关键字”,不过,他们都有对应的包装类 Integer , Character ,这些都可以作对象使用。 JAVA 只是从效率上考虑而使用他们。
对象是什么?我认为,对象就是一种类型的实例化。他的基本特征就是:封装性,继承性,动态性。(注意,类和类型是指同一个意思,经常混用)。举个例子:人就是一种类型,男人就是他的继承类型,而男人张三就是个对象,他是个具体的实例,他有具体的身高,体重,年龄等属性值。
实际上,类是一种类型定义,他有属性名称定义,但是没有状态(即属性值),而对象对象就是给类型附上状态(即属性值) , 在计算机里也叫“实例化”,就是给这些状态值分配内存空间。
对于大多数操作系统,对象的内存空间是分配在“堆”上的,他是不连续的内存空间,因为你无法知道一个对象的实际大小,大小是用户自己定义的。而基本类型,比如 int , char ,的内存空间是分配在“栈”上的,他是连续的内存空间,因为这些类型是固定大小的,他的大小在每种机器上都有规定。( JAVA 因为跨平台,所以基本类型的大小是固定的,比较大,而且对类型的要求很严格,是强类型语言)。
在“堆”上把数据取出来,自然要比从“栈”上取数据慢,所以, JAVA 相对是比较慢的,他也很消耗内存。不过,硬件发展已经很快,而且对于企业级应用,一般都是数个 CPU ,数 G 内存,乃至集群服务器的使用,所以,对性能的约束不是很强。
面对对象一般是指面向对象的编程,但是我认为,面向对象的核心是面向对象的设计( OOD )。
与面向对象对应的是面向过程的编程,比如 C 。
面向对象核心是对象,他是自底向上的编程,以对象为核心,组织对象关系,去添加业务逻辑。
面向过程的核心是过程,他是自顶向下的编程,以业务流程为核心,围绕过程去组织数据。
对 于应用软件而言,我们需要面向对象的设计,因为,应用软件的业务流程是变化多端的,很多时候客户自己也不能描述清楚他需要的软件流程,他们原来是手工办 公,他们无法理解软件原理,自然无法用软件思想描述清楚业务流程。而业务的核心其实是业务对象(或者说“实体”),因为对象和对象之间的关系才是业务最根 本的东西,是不易变的东西。
其实我觉得,软件应该分为系统软件和业务软件。
( 1 )系统软件:目的是控制机器或者帮助你控制机器, C/C++ 很合适。他关心的是“物理模型”,是系统流转的过程细节。
( 2 )业务软件(或者应用软件):目的是构建客户业务流程,组织业务数据。具体说就是存取、分析业务数据。 JAVA 很适合,他关心的是“对象模型”,是对象与对象之间的关系。
另外,近期还有一种编程模式叫 AOP ,面向方面的编程,很流行。我认为他是面向对象的一种补充。他是更高一层的编程模式,他的核心是面向某一方面的应用,可以说面向对象和面向过程的编程都是纵向的思路 , 而面向方面的编程就是一种横向编程的编程模式。小到系统内的综合查询,大到某一领域的应用 , 如网络搜索( GOOGLE ),或者行业软件,如地税,银行 .( 这又类似于另一个技术 Web Service 了 , 不过 WebService 是一种远程的软件服务方式 , 而 AOP 是一种编程方法和思路 , 而且 JBOSS 已经开始支持他 , 有文章介绍 JBoss 4.0 带了一个 AOP 框架。 ) 。
因为,我们不断想要提高软件复用性,不断想要把软件做成模块化,组件化,就像搭积木一样可以拼装成一个系统,这种模块化的“粒度”越来越大,就形成了某个方面,或者某个行业领域的复用,比如,你可以直接调用 GOOGLE 服 务接口做搜索,调用银行服务接口做金融处理。这是软件编程思想的又一次革新。面向对象是基础,但他一般在小范围内使用,因为范围大了对象关系太复杂,而且 内聚性太高会带来子系统之间的协调困难,这样会带来大范围(粗粒度)的连接使用困难,比如大系统内的综合查询会涉及到各个子系统的查询,分开做是不明智的 而且困难的。而面向方面的编程正是这种问题的解决思路。
由上所述,可以看出编程语言不仅仅是技能的不同,更深入的是编程思想的不同。
我 以前在的都是小公司,做业务软件,系统内的各个部分我都要关心,所以我有这种想法,其实那就是“小作坊”的生产方式。华为的情况不一样,华为已经形成了一 个“软件产业”,有清晰的生产流水线,每个部门都负责自己的那部分的工作,这样带来很高的生产效率,但是,对于每个环节可能不需要多少编程思想了,最重要 的是熟悉业务。
但是 JAVA 是软件发展的趋势,有很有多先进性(我说的是思想的先进性)。所以我想,我们可以多关注一些 JAVA 方面的软件思想,比如设计模式,框架等,他对于我们解决实际问题很有好处。
另 外,改变编程思想对我们现在的工作,代码的维护很重要。我目前看到的软件文档,大多是需求规格说明,物理模型,那些东西根本看不到代码的组织结构,那么多 代码又很难一行行去分析,这样的系统代码很难维护,而且我看不到每个模块之间的关系,如果我以前不参加这个项目,就很难进行扩展,这对软件产品是非常不利 的。所以,对于软件,使用 UML ( Rational Rose )描述,远比使用物理模型( Viso )描述要重要。
UML 是什么?他是统一模式语言,是几个软件牛人想出来的工具。其实就是描述软件的图形语言。看图永远比看文字要直观,而且,看图更容易反映代码之间的关系。
举个例子:
软件需要的主要 UML 描述举例:
用例图:
活动图:(一般以时序图替代,他们可以相互转换。)
类图:
如上所示,你可以很容易看清楚系统的结构,所用到的类以及方法都很明白,系统的设计思路,设计模式一目了然,要维护就很方便,更重要的是他让你的设计思路清晰,功能之间的关系明确,可以把系统做到最大程度的优化。如果让我去看长篇的 WORD 说明文档,我很容易头晕,而且,依赖需求文档和物理模型(仅仅描述硬件层的结构,以及简单的数据流向),你怎么保证你的系统的是正确的?并且是有效的?
软件产品最重要不是能用,而是好用。因为客户不懂软件,但是软件维护,推广还是我们自己做,软件好不好,只有自己知道。
4. 什么是模式?什么是框架?
这两个概念都很模糊,这里简要说明,只是个人观点,仅供参考。
设计模式:软件的设计模式来源于建筑工程,随着一个行业的成熟,需要大量规范化的模板,而且在处理很多问题的时候,会出现很多重复的问题,经过不断的经验总结,把一些好的问题解决方法归纳出来就形成了“模式”。
模式有很多层面的模式,有软件开发过程管理模式,比如: RUP (统一软件过程), XP (极限编程)。有编程模式,最出名的就是“四人帮”(四个软件牛人)写的 23 种设计模式。《设计模式》这本书的中文版是机械工业出版社出版的(他是用 C ++举例的),可以说是软件人员必备手册,不过,很多人(包括我)都有一个反映就是“看不懂”,呵呵。其他还有《 JAVA 与模式》是一个华裔博士写的,初学者很适合。常见的模式有“工厂方法”,“抽象工厂”,“代理模式”,“门面模式( facade )”,“单例模式( singleton ) ”等。关于 JAVA 与模式的书籍现在也是多如牛毛,我只是初级应用者。
框 架:他是某些特定领域系统的半成品。他可以帮助你封装解决很多底层问题,比如事务处理,用户安全等,他的主要作用是使系统结构稳定,约束代码人员的代码。 就好像是一个房子的骨架,代码人员只需要根据业务往里面填业务逻辑代码。而且很多具体处理细节由框架处理,对代码人员是透明的,代码人员只要继承相应的“ 基础类”就可以了,(这些“基础类”就是框架。)
模式是一种抽象概念和工作方法,而框架是一种实际使用的代码集合。
常见的框架有 STRUTS ( WEB 应用, APACHE 子项目), Hibernate(O/R Mapping 使用,很好的东西,由一个叫 Gavin King 的牛人为主开发的 ) , TCF ( JAVA 的 GUI 框架,要收费的。)
下面主要说一下 WAF 框架:
2000 年左右, SUN 为了推出 J2EE 这个平台,就要介绍 J2EE 的核心 EJB 的应用,他做了一个样例 PetStore (网上宠物店的电子商务应用),来说明这个东西,这个系统使用的框架就叫 WAF ( Web Application Framework )。
先简单说一下 EJB 是什么,他是企业级 JAVA Bean ( Entity Java Bean )。他与普通的 JAVA 应用的最大不同之处就是他支持分布式处理,就是说 EJB 可以分别发布在不同的应用服务器上。他包括 3 个部分,
(1) Session Bean :做商业逻辑处理,内置事务,缓存等处理。
(2) Entity Bean :做数据实体对象映射,即 O/R Mapping ,并且内置了事务处理,“状态机”机制等很多复杂功能,但是太高级了,性能一直是个问题,所以后来 SUN 又推出一个轻量级的东西叫 JDO 。但是,很多人(包括我)都喜欢用 Hibernate 。
(3) Message Driver Bean :做消息驱动处理,主要是异步的消息处理。
(说明:一般来说,支持
发表评论
-
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/ ...
相关推荐
2. **构建过程**:在Ant中,构建过程通常包括编译源代码、运行单元测试、打包JAR或WAR文件、生成文档等步骤。这些步骤通过Ant任务实现。 3. **Ant任务**:Ant的任务是执行特定操作的最小单位,如`javac`用于编译...
2. **登录管理界面**: - 访问地址:通过输入http://172.19.9.8/uniportal,可以打开中兴的管理界面。 - 身份验证:使用默认的用户名"super"和密码"1qaz!QAZ"进行登录。 3. **虚拟化资源管理**: - 在管理界面中...
登录中兴的管理界面,通过http://172.19.9.8/uniportal,使用默认的用户名super和密码1qaz!QAZ。在管理界面中,选择【虚拟化】—【虚拟化资源管理】,可以对虚拟服务器资源池进行操作。 创建新的虚拟机时,首先需要...
2. **进入我的空间**:登录后,进入“我的空间”页面,这里是管理个人信息及服务的入口。 3. **选择售后服务**:在“我的空间”中找到并点击“我的售后服务”,这一步骤是为了进入具体的服务申请流程。 4. **产品...
- **服务启动与停止**: 如`./uniportal.sh start` 启动特定的服务脚本;`shutdown immediate` 和 `startup` 分别用于立即关闭和启动Oracle数据库实例。 ### 5. 权限与文件操作 - **文件所有权变更**: 使用`chown` ...
WMS UniPortal是一个统一的地理空间门户,专注于OGC Web服务,使用户可以在一个全面的WMS库中有效地搜索他们感兴趣的WMS。 转到http://eie.cos.gmu.edu/WMSUniPortal/检查运行实例
**第2章 Uniportal服务器部署** WebUCCompanionV1.12采用华为的Uniportal v100r001d330版本作为基础平台,该平台内置了JBoss 3.2.6应用服务器和JBoss.NET Web Service模块。由于一般第三方服务器不直接使用Uniportal...
然后,单击“Uniportal”,跳转到Uniportal账号登录界面。在Uniportal账号登录界面输入账号:EBGVIP01和密码:Huawei@123,单击“登录”。在E-Lab portal主页,单击“开始实验”。 FusionCompute 安装部署实验指导 ...