锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆Tomcat 5.0.30
銆銆SQLServer2000
---------------------------------------------------------------------------------------
%TOMCAT_HOME%\conf\Server.xml緇撴瀯鍒嗘瀽
<Server> <Service> <Connector></Connector> <Engine> <Host> <Context></Context> </Host> </Engine> </Service> </Server> |
<Server><!--欏跺眰鍏冪礌,鏄?/span>Tomcat瀹炰緥鐨勯《灞傚厓绱狅紝鍙寘鍚竴涓垨澶氫釜Service-->
<Service><!--榪炴帴鍣ㄥ厓绱狅紝鍖呭惈涓涓?/span>Engine鍏冪礌錛屼互鍙婁竴涓垨澶氫釜Connector鍏冪礌錛岃繖浜?/span> Connector鍏變韓鍚屼竴涓?/span>Engine-->
< Connector>< !--瀹為檯鍜屽鎴蜂氦浜掔殑緇勪歡-->
< Engine>< !--瀹瑰櫒綾誨厓绱狅紝鍙互鍖呭惈澶氫釜Host鍏冪礌-->
< Host>< !--瀹氫箟涓涓櫄鎷熶富鏈猴紝瀹冨彲浠ュ寘鍚竴涓垨澶氫釜Web搴旂敤-->
< Context>< !--浣跨敤鏈棰戠箒鐨勫厓绱狅紝姣忎釜Context浠h〃榪愯鍦ㄨ櫄鎷熶富鏈轟笂鐨勫簲鐢?/span>-->
宓屽綾誨厓绱犲彲浠ュ姞鍒板鍣ㄧ粍浠朵腑濡傦細< Logger>< Value>< Realm>鍏冪礌
Context鍏冪礌鍔熻兘鍒嗘瀽
鍦?/span> [installdir]\webapps 鐩綍涓嬪垱寤轟竴涓悕涓?/span> blog 鐨勫瓙鐩綍銆傜劧鍚庡湪 blog 瀛愮洰褰曚笅錛屽垱寤烘爣鍑嗙殑 Web 搴旂敤紼嬪簭鐩綍緇撴瀯錛?/span>
[installdir]\webapps\blog [installdir]\webapps\blog\WEB-INF [installdir]\webapps\blog\WEB-INF\classes [installdir]\webapps\blog\WEB-INF\lib |
鎺ヤ笅鏉ワ紝娣誨姞鎸囧悜 Web 搴旂敤紼嬪簭鐨?/span> context銆?/span>context 鍙槸涓涓埆鍚嶏紝瀹冨憡璇?/span> Tomcat 鍦ㄥ摢閲屽彲浠ヨ闂?/span> Web 搴旂敤紼嬪簭銆傛垜浠殑 context 璺緞灝嗘槸 /blog錛屽畠?yōu)畣鎸囧悜鎴戜滑鍒氬垰鍒涘缓鐨?/span> blog 瀛愮洰褰曘傚湪鐢ㄦ埛杈撳叆 http://localhost:8080/blog 鍚庯紝灝嗚漿鑷?/span> webapps 涓嬬殑欏剁駭 banner 鐩綍銆傚鏋滀粬鎯寵繍琛屾垜浠殑 BlogServlet錛堝皢瀛樺湪浜?/span> WEB-INF/classes 鐩綍涓級錛屼粬鍙互浣跨敤 http://localhost:8080/blog/servlet/BlogServlet銆?/span>
瑕佹坊鍔?/span> /blog context錛岄鍏堬紝鎴戜滑闇瑕佺紪杈?/span> Tomcat conf 鐩綍涓殑 server.xml 鏂囦歡銆傚湪鎺ヨ繎璇ユ枃浠跺簳閮ㄧ殑浣嶇疆錛屾?zhèn)ㄤ細鐪嬪埌鍑犱?/span> context 鏍囪銆傞偅閲屽簲璇ユ湁涓涓敤浜?/span> /admin 鐨?/span> context 鍜屼竴涓敤浜?/span> /examples 鐨?/span> context銆傝娣誨姞浠ヤ笅 context 鏍囪錛?/span>
<!-- BannerAd Context --> <Context path="/blog" docBase="blog" debug="0" reloadable="true" crossContext="true"/> |
--------------------------------------------------------------------------------------
寮濮嬫暟鎹睜閰嶇疆
1錛庨厤緗幆澧?/span>
灝嗛渶瑕佺殑jar鍖呮墦鍏ュ叏灞鐩綍錛屽嵆%TOMCAT_HOME%\common\lib涓嬶紝濡?/span>SQLServer鐨勬暟鎹┍鍔ㄧ瓑銆?/span>
2錛庨厤緗?/span>TOMCAT錛堜嬌鐢?/span>POOLMAN鐨勬暟鎹睜錛?/span>
·鏈嶅姟鍣ㄧ錛氶厤緗?/span>Server.xml鏂囨。(%TOMCAT_HOME%\conf\Server.xml)
<Context path="/blog" docBase="blog" debug="0" reloadable="true">
<Resource name="jdbc/blog" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/blog">
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name> <value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=blog</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>sa</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
·.瀹㈡埛绔細閰嶇疆web.xml鏂囨。(\webapps\banner\WEB-INF\web.xml)
<resource-ref>
<description>SqlServer Datasource example</description>
<res-ref-name>jdbc/blog</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
涓嬮潰鐨勪唬鐮佺ず渚嬮兘浠ヤ笅闈㈢殑琛ㄧ粨鏋勪負鍑嗭細
銆 銆 Articles 琛?nbsp; SQL Server 綾誨瀷 Oracle 綾誨瀷
PK Id int (鑷) number(9) (鎻掑叆鏃跺湪褰撳墠鏈澶у間笂鍔?)
銆 Author nvarchar(10) nvarchar2(10)
銆 Title nvarchar(50) nvarchar2(50)
銆 PubTime datetime date
SQL Server / Access 絳夊井杞駭鍝佷腑錛屾垜浠氬父鐨勮嚜瀹氫箟鍒嗛〉鏈変袱縐嶆濊礬錛?/p>
涓縐嶆槸浠?ASP.NET Forum 涓轟唬琛ㄧ殑銆?#8220;涓存椂琛?#8221;鏂規(guī)硶錛氬嵆鍦ㄥ瓨鍌ㄨ繃紼嬩腑寤虹珛涓涓復鏃惰〃錛岃涓存椂琛ㄥ寘鍚竴涓簭鍙峰瓧孌碉紙1錛?錛?錛?...錛変互鍙婅〃鐨勪富閿紙鍏朵粬鑳藉鍞竴紜畾涓琛岃褰曠殑瀛楁涔熸槸鍙互鐨勶級瀛楁銆傚瓨鍌ㄨ繃紼嬪彲鑳藉涓嬶細錛堢紪鍙?SS1錛?/p>
CREATE Procedure GetAllArticles_Paged
(
@PageIndex int,
@PageSize int,
@TotalRecords out int,
@TotalPages out int
)
AS
DECLARE @PageLowerBound int
DECLARE @PageUpperBound int
-- Set the page bounds
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
-- Create a temp table to store the select results
CREATE TABLE #tmp
(
RecNo int IDENTITY (1, 1) NOT NULL,
ArticleID int
)
INSERT INTO #tmp
SELECT [ID]
FROM Articles
ORDER BY PubTime DESC
SELECT A.*
FROM Articles A (nolock), #tmp T
WHERE A.ID = T.ArticleID AND
T.RecNo > @PageLowerBound AND
T.RecNo < @PageUpperBound
ORDER BY T.RecNo
GO
鍙︿竴縐嶅彲鑳芥洿閫傚悎紼嬪簭涓?#8220;鎷煎噾” SQL 璇彞錛氱敤涓ゆ TOP 鍛戒護鍙栧緱鎴戜滑鎵瑕佺殑鍒嗛〉鏁版嵁錛屼緥濡傦細錛堢紪鍙?SS2錛?/p>
SELECT * FROM
(
SELECT TOP(PageSize) * FROM
(
SELECT TOP (PageSize * PageIndex) *
FROM Articles
ORDER BY PubTime DESC
)
ORDER BY PubTime ASC
)
ORDER BY PubTime DESC
榪欎釜鐨勬兂娉曞氨鏄?#8220;鎺愬ご鍘誨熬”錛岃繕鏈変笉灝戝垎欏電殑鏂規(guī)硶錛岃繖閲屽氨涓嶄竴涓鍒楀嚭浜嗐?/p>
瀵逛簬 Oracle 鏁版嵁搴擄紝鏈夊嚑澶勪笉鍚屼弗閲嶅Θ紕嶄簡涓婇潰鍑犱釜鏂規(guī)硶鐨勫疄鏂斤紝姣斿錛孫racle 涓嶆敮鎸?TOP 鍏抽敭瀛楋細涓嶈繃榪欎釜濂藉儚騫朵笉鍗佸垎涓ラ噸錛屽洜涓哄畠鎻愪緵浜?rownum 榪欎釜闅愬紡娓告爣錛屽彲浠ュ疄鐜頒笌 TOP 綾諱技鐨勫姛鑳斤紝濡傦細
SELECT TOP 10 ... FROM WHERE ...
瑕佸啓鎴?/p>
SELECT ... FROM ... WHERE ... AND rownum <= 10
rownum 鏄褰曞簭鍙鳳紙1錛?錛?...錛夛紝浣嗘湁涓涓瘮杈冮夯鐑︾殑浜嬫儏鏄細濡傛灉 SQL 璇彞涓湁 ORDER BY ... 鎺掑簭鐨勬椂鍊欙紝rownum 灞呯劧鏄厛“鏍囧彿”鍚庢帓搴忥紒榪欐牱錛岃繖涓簭鍙峰鏋滀笉鍔犲鐞嗘槸涓嶅悎涔庝嬌鐢ㄩ渶姹傜殑銆?/p>
鑷充簬涓存椂琛紝Oracle 鐨勪復鏃惰〃鍜?SQL Server 鐨勬湁寰堝ぇ涓嶅悓錛屾垜榪樻病鎼炴噦榪欎釜涓滆タ錛屽氨涓嶅鍔犳彛嫻嬩簡銆?/p>
鍥藉唴緗戠珯涓粙緇?Oracle 鍒嗛〉鐨勮祫鏂欏緢灝戯紝鎴戞壘鍒頒簡涓涓浗澶栫珯鐐癸紙www.faqts.com錛夌殑涓綃?FAQ錛屾牴鎹繖綃囨枃绔犵殑浠嬬粛錛屽彲浠ュ涓嬪垎欏碉細錛堢紪鍙?Ora1錛?/p>
SELECT * FROM
(
SELECT A.*, rownum r
FROM
(
SELECT *
FROM Articles
ORDER BY PubTime DESC
) A
WHERE rownum <= PageUpperBound
) B
WHERE r > PageLowerBound;
A. 鏈変袱涓柟娉?
1). int i = Integer.parseInt([String]); 鎴?nbsp;
i = Integer.parseInt([String],[int radix]);
2). int i = Integer.valueOf(my_str).intValue();
娉? 瀛椾覆杞垚 Double, Float, Long 鐨勬柟娉曞ぇ鍚屽皬寮?
2 濡備綍灝嗘暣鏁?int 杞崲鎴愬瓧涓?String ?
A. 鏈夊弫縐嶆柟娉?
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
娉? Double, Float, Long 杞垚瀛椾覆鐨勬柟娉曞ぇ鍚屽皬寮?