仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 435|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA编程:使用JBuilder2005开辟Web使用程序

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。web|程序  JBuilder是一个开放的JavaIDE,它集成了Tomcat、Weblogic等服务器。固然JDK、Tomcat、Weblogic不休晋级,我们仍能够在JBuilder中利用它们的最新版本。因为Tomcat服务器的设置对照庞大,习气了Windows平台的程序员经常对Tomcat的利用感应狐疑。本文给出了一个利用Tomcat情况下的数据库毗连池DatabaseConnectionPool(DBCP)的例子,申明了用JBuilder开辟Web使用的一样平常步骤,并回覆了一些常常碰到的成绩。
  JBuilder2005所带JDK的版本是1.4.2_04-b05,其文件放在目次JBuilder_HOMEjdk1.4下,Tomcat的最新版本是5.0.27,其文件放在目次JBuilder_HOME        hirdpartyjakarta-tomcat-5.0.27下。上面起首给出给出了一个利用Tomcat情况下的数据库毗连池DatabaseConnectionPool(DBCP)的例子。
  1.File-NewProject新建工程文件,输出工程文件称号myWeb和目次C:myWeb
  2.Project-ProjectProperties设置工程文件的属性,选择Tomcat为服务器
  3.File-New新建WebModule(WAR)
  输出WebModule的称号DBTest和目次DBTest
  4.File-New新建JSP,输出jsp文件的称号test.jsp,发生test.jsp文件后修正test.jsp的内容
  Test.jsp:
<%@pagecontentType="text/html;charset=Big5"%>
<html>
<head>
 <title>DBTest</title>
</head>
<body>
 <%
  foo.DBTesttst=newfoo.DBTest();
  tst.init();
 %>
 <h2>Results</h2>
 Foo<%=tst.getFoo()%><br/>
 Bar<%=tst.getBar()%>
</body>
</html>
  将会天生一个称号为test的runtimeconfiguration。
  选Run-Configurations-Edit可修正runtimeconfiguration,出格是能够指定服务器的端标语和是不是主动搜刮为被占用的端口。
  5.File-NewClass,输出类名DBTest和包名foo,发生DBTest.java文件后修正它的内容
DBTest.java
packagefoo;
importjavax.naming.*;
importjavax.sql.*;
importjava.sql.*;
publicclassDBTest{
 Stringfoo="NotConnected";
 intbar=-1;
 publicvoidinit(){
  try{
   Contextctx=newInitialContext();
   if(ctx==null)
    thrownewException("Boom-NoContext");
    DataSourceds=(DataSource)ctx.lookup("java:comp/env/JDBC/TestDB");
    if(ds!=null){
     Connectionconn=ds.getConnection();
     if(conn!=null){
      foo="GotConnection"+conn.toString();
      Statementstmt=conn.createStatement();
      ResultSetrst=stmt.executeQuery("selectid,foo,barfromtestdata");
      if(rst.next()){
       foo=rst.getString(2);
       bar=rst.getInt(3);
      }
      conn.close();
     }
    }
   }catch(Exceptione){
    e.printStackTrace();
   }
  }
 publicStringgetFoo(){returnfoo;}
 publicintgetBar(){returnbar;}
}
  6.修正web.XML的内容
  web.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appxmlns="http://java.sun.com/xml/ns/J2EE"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4">
 <description>MySQLTestApp</description>
 <resource-ref>
  <description>DBConnection</description>
  <res-ref-name>jdbc/TestDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>
</web-app>
  7.F9运转使用,myWeb目次中将会天生Tomcat子目次,个中包括了conf子目次,
  在Tomcat_HOMEconfCatalinalocalhost目次中天生了DBTest.XML文件
  8.将myWebTomcatconf目次中的文件server8080.xml到场工程文件,修正server8080.xml的内容
  server8080.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<Serverdebug="0"port="8081"shutdown="SHUTDOWN">
<Servicename="Catalina">
 <ConnectoracceptCount="10"connectionTimeout="60000"debug="0"maxThreads="75"minSpareThreads="5"port="8080"/>
 <Enginedebug="0"defaultHost="localhost"name="Catalina">
 <HostapPBase="C:myWebTomcatwebapps"autoDeploy="false"debug="0"deployXML="false"name="localhost"unpackWARs="false">
 <Contextpath="/DBTest"docBase="C:myWebDBTest"debug="5"reloadable="true"crossContext="true"workDir="C:myWebTomcatworkDBTest">
 <LoggerclassName="org.apache.catalina.logger.FileLogger"prefix="localhost_DBTest_log."suffix=".txt"timestamp="true"/>
 <Resourcename="JDBC/TestDB"auth="Container"type="Javax.sql.DataSource"/>
 <ResourceParamsname="jdbc/TestDB">
 <parameter>
  <name>factory</name>
  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
 </parameter>
 <!--
  MaximumnumberofdBconnectionsinpool.Makesureyou
  configureyourMySQLdmax_connectionslargeenoughtohandle
  allofyourdbconnections.Setto0fornolimit.
 -->
 <parameter>
  <name>maxActive</name>
  <value>100</value>
 </parameter>
 <!--
  MaximumnumberofidledBconnectionstoretaininpool.
  Setto0fornolimit.
 -->
 <parameter>
  <name>maxIdle</name>
  <value>30</value>
 </parameter>
 <!--
  MaximumtimetowaitforadBconnectiontobecomeavailable
  inms,inthisexample10seconds.AnExceptionisthrownif
  thistimeoutisexceeded.Setto-1towaitindefinitely.
 -->
 <parameter>
  <name>maxWait</name>
  <value>10000</value>
 </parameter>
 <!--MySQLdBusernameandpasswordfordBconnections-->
 <parameter>
  <name>username</name>
  <value>sa</value>
 </parameter>
 <parameter>
  <name>password</name>
  <value>topcomputer</value>
 </parameter>
 <!--Classnameformm.mysqlJDBCdriver-->
 <parameter>
  <name>driverClassName</name>
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
 </parameter>
 <!--
  TheJDBCconnectionurlforconnectingtoyourMySQLdB.
  TheautoReconnect=trueargumenttotheurlmakessurethatthe
  mm.mysqlJDBCDriverwillautomaticallyreconnectifmysqldclosedthe
  connection.mysqldbydefaultclosesidleconnectionsafter8hours.
 -->
 <parameter>
  <name>url</name>
  <value>jdbc:microsoft:sqlserver://nt04:1433;DatabaseName=test</value>
 </parameter>
</ResourceParams>
</Context>
</Host>
</Engine>
</Service>
</Server>
  9.将JDBC驱动放在C:BorlandJBuilder2005        hirdpartyjakarta-tomcat-5.0.27commonlib目次中
  10.在SQLServer中创建数据库test,数据库表文件testdata
  creatTable.sql:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[testdata])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[testdata]
GO
CREATETABLE[dbo].[testdata](
 [id][int]NOTNULL,
 [foo][varchar](50)COLLATEChinese_Taiwan_Stroke_CI_ASNULL,
 [bar][int]NOTNULL
)ON[PRIMARY]
GO
  输出几笔记录作为测试数据。
  11.F9
  12.在c:myWebmulu中创建批处置文件startup.bat和shutdown.bat内容分离以下:
  startup.bat:
C:BorlandJBuilder2005JDK1.4inJavaw-classpath"C:BorlandJBuilder2005        hirdpartyjakarta-tomcat-5.0.27inootstrap.jar;C:BorlandJBuilder2005jdk1.4lib        ools.jar""-Dcatalina.home=C:/Borland/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27"org.apache.catalina.startup.Bootstrap-config"C:myWebTomcatconfserver8080.XML"start
Shutdown.bat:
C:BorlandJBuilder2005jdk1.4injavaw-classpath"C:BorlandJBuilder2005        hirdpartyjakarta-tomcat-5.0.27inootstrap.jar;C:BorlandJBuilder2005jdk1.4lib        ools.jar""-Dcatalina.home=C:/Borland/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27"org.apache.catalina.startup.Bootstrap-config"C:myWebTomcatconfserver8080.xml"stop
  13.运转startup.bat,在扫瞄器输出http://localhost:8080/DBTest/test.JSP
  怎样部署Web使用?
  1.打包天生war文件
  2.将DBTest.war拷贝到Tomcat_HOMEwebapps
  3.在Tomcat_HOMEconfCatalinalocalhost目次中创建文件DBTest.xml
DBTest.xml
<!--
 ContextconfigurationfilefortheTomcatAdministrationWebApp
$Id:admin.xml,v1.22002/07/2312:13:05remmExp$
-->
<Contextpath="/DBTest"docBase="/DBTest"debug="5"reloadable="true"crossContext="true"workDir="../work/DBTest">
<LoggerclassName="org.apache.catalina.logger.FileLogger"prefix="localhost_DBTest_log."suffix=".txt"timestamp="true"/>
<Resourcename="JDBC/TestDB"auth="Container"type="javax.sql.DataSource"/>
<ResourceParamsname="jdbc/TestDB">
 <parameter>
  <name>factory</name>
  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
 </parameter>
 <!--
  MaximumnumberofdBconnectionsinpool.Makesureyou
  configureyourMySQLdmax_connectionslargeenoughtohandle
  allofyourdbconnections.Setto0fornolimit.
 -->
 <parameter>
  <name>maxActive</name>
  <value>100</value>
 </parameter>
 <!--
  MaximumnumberofidledBconnectionstoretaininpool.
  Setto0fornolimit.
 -->
 <parameter>
  <name>maxIdle</name>
  <value>30</value>
 </parameter>
 <!--
  MaximumtimetowaitforadBconnectiontobecomeavailable
  inms,inthisexample10seconds.AnExceptionisthrownif
  thistimeoutisexceeded.Setto-1towaitindefinitely.
 -->
 <parameter>
  <name>maxWait</name>
  <value>10000</value>
 </parameter>
 <!--MySQLdBusernameandpasswordfordBconnections-->
 <parameter>
  <name>username</name>
  <value>sa</value>
 </parameter>
 <parameter>
  <name>password</name>
  <value>topcomputer</value>
 </parameter>
 <!--Classnameformm.mysqlJDBCdriver-->
 <parameter>
  <name>driverClassName</name>
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
 </parameter>
 <!--
  TheJDBCconnectionurlforconnectingtoyourMySQLdB.
  TheautoReconnect=trueargumenttotheurlmakessurethatthe
  mm.mysqlJDBCDriverwillautomaticallyreconnectifmysqldclosedthe
  connection.mysqldbydefaultclosesidleconnectionsafter8hours.
 -->
 <parameter>
  <name>url</name>
  <value>jdbc:microsoft:sqlserver://nt04:1433;DatabaseName=test</value>
 </parameter>
</ResourceParams>
</Context>
  4.启动Tomcat,DBTest.war将会解压到Tomcat_HOMEwebappsDBTest,而且在Tomcat_HOMEworkCatalinalocalhost目次中天生DBTest目次
  为何不克不及天生war文件?
  在protertiesforWebModule对话框中设置与Build有关的属性BuildWebarchive。
  怎样在Web使用中到场目次和文件?
  右击Moduledirectory,在弹出的菜单当选择New-directory,输出目次称号;或右击拟在个中创建文件的目次,在弹出的菜单当选择New-File,选择文件范例,输出文件名。注重如许到场的文件只能是指定的文件范例。如许到场的目次和文件城市打包到war文件中。
  怎样到场别的范例的文件?
  能够将文件拷贝到指定的目次,在protertiesforWebModule对话框中设置属性Content,选择includeallclassesandresources,如许也能够将到场的文件打包到war文件中。
  怎样利用指定的JDK?
  选择菜单Tools-Configure-JDKs,在弹出的对话框中按New按钮,然后选择JDK的路径。
  选择菜单Project-ProjectProperties,在弹出的对话框当选择到场的JDK。
  怎样利用指定的Tomcat?
  选择菜单EntERPrise-ConfigureServers,在弹出的对话框当选择Tomcat5.0后按Copy按钮,
  选择Copy发生的服务器CopyofTomcat5.0,选择HomeDirectory
  选择菜单Project-ProjectProperties,在弹出的对话框中设置属性server,选择到场的Tomcat服务器

一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 16:30:43 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-30 23:37:36 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-4 06:59:14 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
若相依 该用户已被删除
5#
 楼主| 发表于 2015-2-9 18:18:40 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-9 18:56:26 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
小魔女 该用户已被删除
7#
发表于 2015-2-27 17:11:25 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
小妖女 该用户已被删除
8#
发表于 2015-3-7 13:09:20 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
因胸联盟 该用户已被删除
9#
发表于 2015-3-11 17:25:21 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
谁可相欹 该用户已被删除
10#
发表于 2015-3-19 03:26:58 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
爱飞 该用户已被删除
11#
发表于 2015-3-27 03:39:34 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表