时间:2015-07-02 来源:

一个基于JBoss5.1+EJB3.0登陆应用 【编程语言】

花了几天的时间研究了一下EJB的使用承接网页制作,一直以来都主要是在写终端中的程序,承接网页制作对Java框架的相关的开发很不熟悉,html静态页面制作中间遇到了不少麻烦,网站div+css还好总算都解决了.写篇日志记录一下.

<?xml version="1.0" encoding="UTF-8"?> <!-- See http://www.jboss.org/community/wiki/Multiple1PC for information about local-tx-datasource --> <!-- $Id: mysql-ds.xml 88948 2009-05-15 14:09:08Z jesper.pedersen $ --> <!-- Datasource config for MySQL using 3.0.9 available from: http://www.mysql.com/downloads/api-jdbc-stable.html --> <datasources> <local-tx-datasource> <jndi-name>tomysql</jndi-name> <connection-url>jdbc:mysql://localhost:3306/USERS</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>javaTest</user-name> <password>123456</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- should only be used on drivers after 3.22.1 with "ping" support <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> --> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources> 改成自己的内容后符合w3c标准, 同时要把相应的驱动放到==/jboss-5.1.0.GA/server/default/lib/==

<path id="build.classpath"> <fileset dir = "${jboss.home}/client"> <include name="*.jar" /> </fileset> <pathelement location ="${build.dir}" /> </path> 所需要的jar包的位置网页外包接活,这里包含了jboss下client的所有jar包,网页外包接活如果引入了别的jar包可以手动的包含进去.

如何获取jndi,并转换成相应的接口承接网页制作,获取Contex的参数设置各种服务器是不一样的,承接网页制作jboss5中的一种调用方法是:

点击XML文件web切图报价,选择大纲视图,web切图报价选择所需的步骤符合w3c标准,右键用ant运行

<target name="prepare"> <delete dir="${build.dir}" /> <mkdir dir="${build.dir}" /> </target> 这里定义了一个叫prepare的过程,html切图制作功能是删除可能存在的build.dir,再新建一个build.dir

InitialContext ctx = new InitialContext(); 有了ctx后就可以将对应的jndi找到并转换成接口了 如下,网页外包接活调用一个远程接口

ant配置文件的写法

<project name="EJB" basedir="."> <property name="src.dir" value="${basedir}/ejbModule" /> <property name="jboss.home" value="/home/ckboss/jboss-5.1.0.GA/" /> <property name="jboss.server.config" value="default" /> <property name="build.dir" value="${basedir}/build" /> 这一段主要定义了一些变量的路径web前端制作,project name 就是工程的名字,web前端制作也就是${ant.project.name}

$(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 版权声明:本文为博主原创文章承接网页制作,未经博主允许不得转载.

<target name = "ejbjar" depends="compile" description="创建EJB"> <jar jarfile="${build.dir}/${ant.project.name}.jar"> <fileset dir="${build.dir}"> <include name="**/*.class" /> </fileset> </jar> </target> 创建一个jar包到build.dir中,div前端切图包含了build.dir里的class类

ant可以帮助完成编译web切图报价,复制,web切图报价粘贴符合w3c标准,打包,手机html制作部署等重复的操作网页外包接活,由client包调用web前端制作,如果登陆成功会通过消息驱动bean发送一条消息,web前端制作并被接受到记录一条记录

build.dir: 生成的jar包的位置

? EJB_LogIn tree └── ejbModule ├── client │ ├── client1.java │ └── LogInClient.java ├── db │ ├── Account.java │ ├── AccountServer.java │ ├── AccountServerLocal.java │ └── AccountServerRemote.java ├── jndi.properties ├── META-INF │ ├── MANIFEST.MF │ └── persistence.xml └── msg ├── MessageDriverBean.java └── QueueSender.java 14 directories, 32 files EJB_LogIn.zip下载1 EJB_LogIn.zip下载2

3.如何使用ant?

<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="ejbdb" transaction-type="JTA"> <jta-data-source>java:tomysql</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> </properties> </persistence-unit> </persistence> 可以看到,承接网页制作这里直接使用hibernate的配置就可以了….. 注意一定要保证打包后persistence.xml在META-INF中….

同时在项目目录META-INF下要新建一个persistence.xml的文件web切图报价,name=myMDB"> <attribute name="JNDIName">queue/myMDB</attribute> <depends optional-attribute-name="DestinationManager"> jboss.mq:service=DestinationManager </depends> </mbean> </server> 新建一个叫做queue/myMDB的jndi

Properties properties = new Properties(); properties.put("java.naming.factory.initial", "org.jboss.naming rg.jnp.interfaces"); properties.setProperty(Context.PROVIDER_URL, "localhost:1099"); InitialContext ctx = new InitialContext(properties); 为了写起来更方便,网页外包接活也可以直接在src下建立一个叫jndi.properties的配置文件web前端制作,这样就不用写一堆properties了

文件结构

发送一个消息:

<target name="compile" depends="prepare" description="编译"> <javac srcdir="${src.dir}" destdir="${build.dir}"> <classpath refid = "build.classpath" /> </javac> </target> 一个叫做 compile 的过程,div+css制作这个过程的执行需要prepare在它前面执行. 编译所有src里的文件承接网页制作,编译到build里

但jboss5中的jndi使用比较简单,承接网页制作

如何打包发布: ejb的发布非常简单web切图报价,ear,war ….)复制到 ==~/jboss-5.1.0.GA/server/default/deploy/==里,html切图制作jboss就会自动检测到变动自动加载 MyEclipse可保存后就自动发布网页外包接活,Eclipse-J2EE版似乎没有这个功能,网页外包接活不过即使是MyEclipse的自动发布也可能存在问题web前端制作, activationConfig = { @ActivationConfigProperty (propertyName = "acknowledgeMode", @ActivationConfigProperty (propertyName = "destinationType", @ActivationConfigProperty (propertyName = "destination" , true); fw.append(tmsg.getText()); fw.close(); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } EJB工程的结构 我也不知道EJB的正确姿势是什么样的… 发布一个EJB后网页外包接活,但是需要在源码中包含这个bean的接口. 为了方便web前端制作,下面的登陆应用放在了一个EJB中.

控制台上的输出就是某个应用的jndi

经验总结 为什么选择JBoss5.1: 从8开始最新的jboss已经改名为WildFly了,web前端制作jboss5还是09年的东西.刚开始的时候我准备用WildFly部署EJB的承接网页制作,因为没有经验而且相关的资料很少.只能换用更老一点的Jboss5

ejb里实体bean开发是使用注解的,承接网页制作基本上和hibernate一样web切图报价,用类似与HQL用一种叫JPQL的东西查询…..

<target name="deploy" depends="ejbjar" description="发布"> <copy file ="${build.dir}/${ant.project.name}.jar" todir = "${jboss.home}/server/${jboss.server.config}/deploy/" /> </target> <target name="undeploy" description="卸载"> <delete file="${jboss.home}/server/${jboss.server.config}/deploy/${ant.project.name}.jar" /> </target> 发布和卸载符合w3c标准,在jboss上的部署非常简单,手机html制作发布只要把jar拷贝到jboss里对应的deploy目录里就可以了网页外包接活,卸载就是把这个jar包移除就可以了.

消息bean 一个点对点的消息bean 首先需要新建一个叫*-service.xml的文件新建一个队列,网页外包接活 文件内容如下:

jboss.server.config: jboss的启动配置

AccountServerRemote asl = (AccountServerRemote) ctx.lookup("AccountServer/remote"); jndi的数据库使用 用实体bean来完成对数据库的持久化操作.因为以前用过hibernate在处理数据库的时候就自然想到了用hibernate.于是想法设法把hibernate往EJB里弄web前端制作,忙活了一下午,div+css制作最后无果而终承接网页制作,看了JPA之后才知道JPA采用的就是hibernate的实现…..

src.dir:是源码位置

jboss的 jndi jndi比较难以理解,承接网页制作各种服务器的调用也个不一样web切图报价,也找不到靠普的文档

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming rg.jnp.interfaces java.naming.provider.url=localhost\:1099 有了这个配置文件只要写一句就可以了

ejb使用数据库第一步就是连接写一个*-ds.xml文件符合w3c标准,这个可以在jboss目录下 ==jboss-5.1.0.GA/docs/examples/jca/== 找到,html切图制作下面是一个msql-ds.xml的文件

InitialContext ctx = new InitialContext(); QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("ConnectionFactory"); QueueConnection conn = factory.createQueueConnection(); QueueSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE); Destination destination = (Destination) ctx.lookup("queue/myMDB"); MessageProducer producer = session.createProducer(destination); producer.send(session.createTextMessage(MSG)); session.close(); conn.close(); 接受一个消息:

点击次数:10410
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日波哥学JAVA,定义类声明属性创建对象实例化对象对象调用属性或者方法 【系统运维】2015年01月21日Theprocessinginstructiontargetmatching"【xX】【mM】【lL】"isnotallowed. 【综合】2015年06月29日分析网站的六大要素 ,,2016年06月23日对qt多线程以及事件投递的理解【综合】2014年12月22日深复制Or浅复制【综合】2015年01月07日Windows支持工具箱资源工具箱调试工具箱【编程语言】2015年05月20日SparkCoreandClusterManagers(翻译自Learning.Spark.Lightning-Fast.Big.Data.Analysis) 【移动开发】2015年08月27日jspinclude引用非本级目录网页实现代码2014年01月29日IOS反射机制的几个重要函数【编程语言】2015年04月01日正则表达式高级技巧及实例详解笨活儿2014年01月29日c++中基本语法问题【综合】2015年07月15日算法的变种应用-(php约瑟夫环)(array_shift&&array_push)【编程语言】2015年08月24日兔子--ps中各种工具的作用 【Web前端】2015年07月01日SchoolPersonalContest#1(CodeforcesBetaRound#38)---A.Army【移动开发】2014年11月04日java执行shell命令,chmod777xxx,改变权限无效的解决办法, 【移动开发】2015年06月12日修改3389远程端口号的注册表文件2014年01月29日Android在adb上操作sqlite3修改表数据 【编程语言】2015年01月09日linux常用的锁及信号量的提取【数据库】2015年03月17日UVA12063(dp记忆化) 【云计算】2015年05月11日Excel中导入网络数据动画教程2014年01月28日JavaScript-高级树形菜单实例 【架构设计】2015年04月27日struts2(三)---struts2中的服务端数据验证框架validate 【编程语言】2015年09月07日this指针浅析 【移动开发】2015年06月11日JavaFlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout布局管理器【架构设计】2014年11月11日从汇编看c++中默认构造函数的使用分析2014年01月30日字符设备驱动(一)【编程语言】2015年04月24日CodeforcesRound#281(Div.2)解题报告A.B.C.D. 【综合】2014年12月09日机器视觉开源代码集合-12016年11月12日摩托罗拉发布三款全新DroidRazr智能手机 ,,2016年06月23日克鲁斯卡尔算法 hdu1863 【编程语言】2015年03月30日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)