??xml version="1.0" encoding="utf-8" standalone="yes"?>在线视频精品一区,最新四虎影在线在永久观看www,julia一区二区中文久久94http://www.aygfsteel.com/blovesaga/category/11876.html在希腊帕?dng)纳斯山南坡?有一个驰名世界的戴尔波伊托所,在它的入口处的巨石上赫然锈刻着q样几个大字: 认识你自?zh-cnFri, 02 Mar 2007 05:09:42 GMTFri, 02 Mar 2007 05:09:42 GMT60Tomcat5.5的基本配|说?/title><link>http://www.aygfsteel.com/blovesaga/articles/55282.html</link><dc:creator>blovesaga</dc:creator><author>blovesaga</author><pubDate>Tue, 27 Jun 2006 02:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/blovesaga/articles/55282.html</guid><wfw:comment>http://www.aygfsteel.com/blovesaga/comments/55282.html</wfw:comment><comments>http://www.aygfsteel.com/blovesaga/articles/55282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/blovesaga/comments/commentRss/55282.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/blovesaga/services/trackbacks/55282.html</trackback:ping><description><![CDATA[ <p> Tomcat是apache的一个子目Q也是一个开源项目,主要是用于J2EE web容器Q由于是一个开源项目,在学?fn)与开发测试中l常被用刎ͼQ而目前商业最为经常用到的web服务器是BEA WebLogicQ。在开源项目中Q鼎鼎大名的apache基金?x)大家肯定有所?jin)解Q网站链接:(x)<a >http://www.apache.org/</a>Q而旗下的Jakarta Project 主要包括?jin)Tomcat、Alexanda{Java目Q有兴趣者可看:(x)<a >http://jakarta.apache.org/</a>。考虑到各位学?fn)者的机器配置与学?fn)成本问题,q里选了(jin)Tomcat作ؓ(f)我们学习(fn)与测试J2EE的环?br />      以下Z些基本配|:(x)<br /> 一、先从网上下载tomcatQ目前最新版本是5.57Q下载地址是:(x)<a >http://apache.freelamp.com/jakarta/tomcat-5/v5.5.7/bin/jakarta-tomcat-5.5.7.zip</a>Q下载安装完后,在安装目录下有以下目录,主要介绍一下conf、common、webappsQ?br />     如果你现在等不急了(jin)Q就想体验一下tomcat的魅力的话,把你的网|到webapps/ROOT目录下,然后再通过览器访问即可,默认如下格式Q?a href="http://localhost:8080/">http://localhost:8080/</a><你的|页><br />     1)webapps文g夹主要用于web应用E序部vQ比如你可以把你的应用程序包Q如war文g拷到该目录下Q容器会(x)自动部v?br />     2)conf文g夹下主要是放|tomcat的服务器的相关配|文?br />     3)common文g夹主要是对容器全局变量的文件放|地方,如common/lib下就是放|一些需要全文配|的文g包?/p> <p>二、j2ee的相关部|规范:(x)<br />     一般来说作Z个符合规范的webE序Q会(x)包括以下文g夹和文gQ?WEB-INF/Q主要是攄一些配|文件与不希望外部程序访问的隐私文gQ,在网l上是不允许讉K该文件夹的,如当你输入以?a href="http://localhost:8080/WEB-INF/">http://localhost:8080/WEB-INF/</a>的话׃(x)出现错误?br />     在WEB-INF文g夹下有一个web.xml文gQ这是对当前应用E序的相兌|,资源L{,/WEN-INF/文g夹下有个classes子文件夹Q该文gҎ(gu)应用E序的根路径Q等于是classpath的\径)(j)Q?WEN-INF下还要有个lib文g夹,主要是放|需要引入的包,应用E序导入的包先从q里开始寻找,其次到容器的全局路径?TOMCAT_HOME/common/lib下寻找?br />     以下是基本文件夹:<br />/tomcat<br />     /common<br />           /lib<br />           /classes<br />    /conf<br />    /webapps<br />        /ROOT<br />              web.xml            <br />              /WEB-INF<br />                    /lib<br />                    /classes<br />        /你部|的E序?br />              web.xml            <br />              /WEB-INF<br />                    /lib<br />                    /classes<br />三、容器的配置Qserver.xml)<br />    C目录/conf文g夹下server.xml文g是对web服务器的配置Q?br />    以下是一些常见的讄Qhttp端口讄Q找C下:(x)<br /><Connector  port="8080"   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />               enableLookups="false" redirectPort="8443" acceptCount="100"<br />               connectionTimeout="20000" disableUploadTimeout="true" /><br />    ?080端口改ؓ(f)你喜Ƣ用的端口Q如常见?0Q以后你可以利用该端口q行讉K你的|站?jin)?x)<a href="http://localhost:80">http://localhost:80</a> 期中80是默认的Q可以不写,其他的一下配|,可以参观相关的内容,入门是q么单?br />    web.xml为servlet的一些相关配|,可以参照一下规范。可以看我写的其他文章?br />    l箋说一下server.xml文g的设|,<br />    扑ֈ以下Q?br />   <Host name="localhost" appBase="webapps"<br />       unpackWARs="true" autoDeploy="true"<br />       xmlValidation="false" xmlNamespaceAware="false"><br />     ....<br />  </Host><br />     在他们之间可以添加一?lt;Context>元素Q如Q?lt;Context path="/axis" reloadable="true" docBase="axis"  workDir="webapps/axis/work"/>Q其中属性path代表是网l访问的上下文\径,reloadable表示可以在运行时在classes与lib文g夹下自动加蝲cdQdocBase属性表CZ的应用程序的路径Q在windows在如QdocBase="E:\Sun\axis"QworkDir表示是缓存文件的攄地点Q可以方便跨q_UL时不用重~译。这P你的应用E序可以放到硬盘上的Q意地方了(jin)。还有一个方法可以做到这点(推荐Q:(x)~写一个xml文gQ然后放到tomcat目录/conf/Catalina/<相应的网?gt;/目录下,如:(x)现在我有个应用程序ACMEWebQ我~了(jin)一个文件ACMEWeb.xml内容如下Q?br />      <Context path="/ACMEWeb" reloadable="true" docBase="E:\eclipseproject\ACMEWeb" workDir="E:\eclipseproject\ACMEWeb\work" /><br />      我把它放C(jin)tomcat目录/conf/Cataline/localhost下,在浏览器打开<a href="http://localhost/ACMEWeb">http://localhost/ACMEWeb</a> ׃(x)转向我放在E:\eclipseproject\ACMEWeb下的E序?/p> <img src ="http://www.aygfsteel.com/blovesaga/aggbug/55282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/blovesaga/" target="_blank">blovesaga</a> 2006-06-27 10:59 <a href="http://www.aygfsteel.com/blovesaga/articles/55282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC2.0新特?http://www.aygfsteel.com/blovesaga/articles/50271.htmlblovesagablovesagaSun, 04 Jun 2006 07:28:00 GMThttp://www.aygfsteel.com/blovesaga/articles/50271.htmlhttp://www.aygfsteel.com/blovesaga/comments/50271.htmlhttp://www.aygfsteel.com/blovesaga/articles/50271.html#Feedback0http://www.aygfsteel.com/blovesaga/comments/commentRss/50271.htmlhttp://www.aygfsteel.com/blovesaga/services/trackbacks/50271.html JDBC 2.0?.0有了(jin)一些不?体现在四个比较明昄斚w:
1>. ResutlSet对象中的Cursor能够自由上下Ud
2>. 能直接用JavaE序语言来更新DB表里的内?而不需要额外写SQL语法
3>. 可以一ơ传送许多SQL语句到DB执行----Batch
4>. 新增2个数据类?BLOB和CLOB)
   我们知道在JDBC 1.0?只要?connection.createStatement()p取得Statement()对象.不过?.0中多的createStatement()
多了(jin)两个参数?需要我们自己来定义?
public Statement createStatement(int resultSetType,
                                 int resultSetConcurrency)throws SQLException
   W一个参数resultSetType用来讑֮ResultSet对象中的光标是否可以自由上下Ud,它的值有三种,TYPE_FORWARD_ONLY,TYPE_SCROLL_SENSITIVE,
TYPE_SCROLL_INSENSITIVE.若ؓ(f)TYPE_FORWARD_ONLYpC和1.0一样只能用next()Ҏ(gu);然后后两者可以让Cursor随便的自q?不过,
它们两者最大的区别在于:当ResutlSet中的值有改变?TYPE_SCROLL_SENSITIVE能取得修改后的?而TYPE_SCROLL_INSENSITIVE则不?
  W而个参数resultSetConcurrentcy,主要是设定ResultSet对象是只?read-only)q是可以改变?updateable),它可能的值有两种,
CONCUR_READ_ONLY或者是CONCUR_UPDATE.若设|ؓ(f)CONCUR_READ_ONLY,ResultSet对象?.0一?若ؓ(f)CONCUR_UPDATEABLE,那么可以用
ResultSet对象执行数据库的修改,增加和移除功?for example:
先看功能?.0一L(fng)写法:
Statement stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
                                   ResultSet.CONCUR_READ_ONLY);
RestultSet rs=stmt.executeQuery("select ename,empno from emp");
while(rs.next())
{
   String name=rs.getString("ename");
   int empno=rs.getInt("empno");
   System.out.println("name="+name+","+"number="+empno);
}
输出l果?
name=feiyang,number=1190
name=jack,   number=1230
name=BillGates number=12
...........
再看看下面这?
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                   ResultSet.CONCUR_READ_ONLY);
RestultSet rs=stmt.executeQuery("select ename,empno from emp");
rs.afterLast();
while(rs.previous())
{
   String name=rs.getString("ename");
   int empno=rs.getInt("empno");
   System.out.println("name="+name+","+"number="+empno);
}
输出l果?
name=BillGates number=12
name=jack,   number=1230
name=feiyang,number=1190
.............
q和上面W一有点不同的是序颠倒了(jin),q是因ؓ(f)我们使用?jin)rs.afterLast()q个Ҏ(gu).其实2.0中还有很多方?如下:
rs.absolute(-1); //表示cursor在最后一W数??rs.last()
rs.absolute(1);  //表示cursor在第一W数?即rs.first()
rs.absolute(n);  //表示cursor在第NW数?br />假我们目前?000W数据,取得W?97W?br />rs.absolute(-4);
q有一个方法和absolute很相?那就是relative(),
rs.absolute(5); //表示W五W数?br />......
rs.relative(-3);  //表示cursor目前在第二笔数据
.......
rs.relative(1);  //cursor目前在第三笔数据
看看怎么用ResultSet对象执行更新数据库动?br />   要让ResultSet对象执行更新数据库的动作Q首先在声明Statement对象?参数必须讄为TYPE_SCROLL_SENSITIVE?br />CUNCOR_UPDATEABLE.
Statement stmt=con.createStatment(RestultSet.TYPE_SCROLL_SENSITIVE,
                                  ResultSet.CONCUR_UPDATEABLE);
ResultSet rs=stmt.executeQuery("select ename,empno from emp);
rs.last();
rs.updateInt("empno",2230);
rs.cancelRowUpdates();
rs.updateInt("empno",1213);
rs.updateRow();
新增数据到数据库
Statement stmt=con.createStatment(RestultSet.TYPE_SCROLL_SENSITIVE,
                                  ResultSet.CONCUR_UPDATEABLE);
ResultSet rs=stmt.executeQuery("select * from emp);
rs.moveToInsertRow();
rs.updateInt("empno",2230);
rs.updateString("ename","feiyang");
rs.updateString("job","clerk");
rs.updateFloat("sal",123456.5);
rs.insertRow();
删除数据
Statement stmt=con.createStatment(RestultSet.TYPE_SCROLL_SENSITIVE,
                                  ResultSet.CONCUR_UPDATEABLE);
ResultSet rs=stmt.executeQuery("select * from emp);
rs.absolute(4);
rs.deleteRow();
依次执行多条SQL语句
Statement stmt=con.createStatment();
int[] rows;
stmt.addBatch("insert into emp values('feiyang','123456')");
stmt.addBatch("insert into offcie values('employee','Shanghai')");
rows=stmt.executeBatch();
当执行大量数据的时候ؓ(f)?jin)数据的完整?使用Transaction
eg:
con.setAutoCommit(false);
Statement stmt=con.createStatement();
int[] rows;
stmt.addBatch("1...........");
stmt.addBatch("2...........");
stmt.addBatch("3...........");
stmt.addBatch("4...........");
stmt.addBatch("5...........");
stmt.addBatch("6...........");
rows=stmt.executeBatch();
con.commit();
在JDBC2.0中新增加BLOB和CLOB两个数据cd
BOLB指的是二q制大型对象(Binary Large Object),CLOB指的是字W大型对?Character Large Object).它们用来处理大型
的数据类?他们分别代表大量的二q制数据和文字数?

blovesaga 2006-06-04 15:28 发表评论
]]>
վ֩ģ壺 | | ƽԭ| | | ³ƶ| | ̶| | | | | ƺ| | | | ƽ| | Ͻ| ˫Ѽɽ| | ƽ| | Ž| | ˮ| | ¹Ȫ| ɳ| ڰ| ͼ| | ˳| | ³ƶ| ߰| | ʡ| | | ƽ|