JAVA ·¶³¦A°_
¸ê°T±Ð¨|¤¤¤ß³¯§Ó¤å¡BÁ¸S¾A¡BªLªÚ¥Õ
´¿´X¦ó®É,±Mµ½ª«¥ó¾É¦V(OO)ªºJAVA,¤w®¨®¨ªº¸ó¤JINTERNET,¤£¦A¬OJAVA
SCRIPT,¥ç¤£¦A¬OJAVA APPLET,¥L¤£¦ýÄ~©Ó¤FJAVA¸ó¥¥xªº SUPER ¯S©Ê,¤]§â¥Ø¼ÐÂê¤F ASP & PHP ,OOª«¥ó¦¡ªº¼¶¼g, ¤£¦ý¨ã¦³«eºÝ°ÊºAªºJAVA
SERVER PAGE(JSP) ,§ó¨ã¦³«áºÝ§Ö³t¦w¥þªº SERVLET,Y¦A¥[¤WBEAN,¨º¯u¬O·¶³¦A°_......¡C¥¦ªº¯S©Ê¦p¤U(©M®É¤UªºASP ©M
PHP¬Û¤ñ)
1.¦w¸Ë®e©ö,¨Ã¥B©Ò¦³ªº¤ä´©¦h¬OFREE(NO
MONEY)
2.¯u¥¿ªº¸ó¥¥x,¦Ó¥B¬O§¹¥þ¸ó¥¥x,´£ª@µ{¦¡ªº¥iÄâ©Ê
3.µ{¦¡ªº°õ¦æ¸g¹LCompile,§Ö³t¨Ã¥B¦³®Ä²v
4.ª«¥ó¦¡ªº¬[ºc,Åýµ{¦¡¼¶¼g»´¦Ó©öÁ|,´£°ªµ{¦¡ªº¥iŪ©Ê
5.§¹¥þ¤ä´©«áºÝ¸ê®Æ®w,JDBC
& ODBC,¨Ï¥Î¯u¬O¤è«K
§AÁÙ¦bµS¿Ý¶Ü?½Ð»°§Ö³s¤Whttp://java.sun.com
,¤@¿s¨s³º§a!
1.¦w¸Ëtomcat-3.2.1
(´ö©iªº¿ß JSP & SERVLET ENGINE)
http://java.sun.com/products/jsp/download.html==>¤U¸üjakarta-tomcat-3.2.1.zip
¸ÑÀ£ÁY¨ìd:\jakarta-tomcat
¶i¤Jjakarta-tomcat\bin×§ïstart.bat
¥[¤Jset TOMCAT_HOME=d:\jakarta-tomcat
set
JAVA_HOME=d:\jdk1.3
°õ¦æstart.bat §Y¥iÅX°Ê(MS-DOS¼Ò¦¡)....................................
jsp¹êÅé®Ú¥Ø¿ý=>d:\jakarta-tomcat\webapps\Root\
×§ï¥H¤W¸ô®|©MÀÉ®×=>d:\jakarta-tomcat\conf\server.xml
(¨Ò¦p==>
http://163.15.102.142:8080/test.jsp)
SERVLET¹êÅé®Ú¥Ø¿ý=>d:\jakarta-tomcat\webapps\Root\WEB-INF\classes\
http://163.15.102.142:8080/servlet/ÀɮצWºÙ
(¨Ò¦p==> http://163.15.102.142:8080/servlet/test)
===========================================================================
2.¦w¸Ëjdk1.3 ==> (complie java for
.java-->.class)
http://java.sun.com/products/ ==>¤U¸üJ2sdk_3_0-win.exe
¸ÑÀ£ÁY & SETUP ¨ì ==> d:\jdk1.3
===========================================================================
3.¦w¸Ëjsdk2.0 ==> (complie java for servlet)
http://java.sun.com/docs/books/tutorial/servlets/servletrunner/server-start.html#config
¸ÑÀ£ÁY¨ì==> d:\jsdk2.0
===========================================================================
4.¦w¸Ëmm.mysql.jdbc.2.0
(to RUN mysql for java jdbc)
http://www.mysql.com/downloads/api-jdbc.html
¸ÑÀ£ÁY¨ì ==> d:\mm.mysql.jdbc.2.0 §Y¥i
===========================================================================
5.¦w¸Ëmysql (to RUN mysql for java odbc)
http://www.mysql.com/downloads/mysql-3.23.html
¸ÑÀ£ÁY¨ì & °õ¦æsetup ==> d:\mysql
===========================================================================
6.³]©wautoexec.bat
¤º®e¦p¤U:
PATH=%PATH%;d:\jdk1.3\bin;d:\jsdk2.0\bin
SET
LASSPATH=d:\mm.mysql.jdbc-2.0;d:\jdk1.3\lib\tools.jar;
d:\jsdk2.0\lib\jsdk.jar;d:\jakarta-tomcat\lib;d:\jakarta-tomcat\webapps
´ú¸Õµ{¦¡Á|¨Ò
7. JSP FOR EXAMPLE
(¤@) Âù°j°é´ú¸Õ°õ¦æ®É¶¡===> ¦s¦¨test.jsp
<%@page
import="java.util.*"%>
<%@page
contentType="text/html;charset=Big5"%>
<%
Date d1=new Date();
String now1=d1.toString();
int j=299;
long k=1;
for (int i = 1;i <=
100;i++)
{
for
(int mm = 1;mm <= 100001;mm++)
{
k=j+i+k+mm;
}
}
Date d2=new Date();
String now2=d2.toString();
out.print("¶}©l®É¶¡:"+now1+"<p>");
out.print("µ²§ô®É¶¡"+now2+"<p>");
%>
=============================================================
(¤G) ¸ê®Æ®wSELECT ==>¦s¦¨test1.jsp
<%@page
import="java.sql.*"%>
<%@page
import="java.util.Date"%>
<%@page
contentType="text/html;charset=Big5"%>
<%
Date d1=new Date();
String
now1=d1.toString();
String driver =
"org.gjt.mm.mysql.Driver";
String url =
"jdbc:mysql://163.15.102.142/¸ê®Æ®w¦WºÙ";
String user = "±b¸¹";
String password =
"±K½X";
Class.forName(driver);
Connection con =
DriverManager.getConnection(url,user,password);
Statement smt = con.createStatement();
String sql =
"select * from ¸ê®Æªí";
ResultSet rs =
smt.executeQuery(sql);
while(rs.next())
{
out.print(rs.getFloat(1)+rs.getString(2)+rs.getString(3)+rs.getString(4)+"<br>");
}
Date d2=new Date();
String
now2=d2.toString();
out.print("JSP¶}©l®É¶¡:"+now1+"<p>");
out.print("JSPµ²§ô®É¶¡"+now2+"<p>");
%>
=============================================================
8.SERVLET FOR EXAMPLE ==> ¦s¦¨ test.java
(¤@) ¤E¤E¼ªkªí ==> ¦s¦¨ test.java
(¥²¶·¸g¹L compile ¦A©ñ¤JSERVLET®Ú¥Ø¿ý)
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class a992 extends
HttpServlet
{
public void
doGet(HttpServletRequest req, HttpServletResponse res)
throws
ServletException, IOException
{
res.setContentType("text/html; charset=Big5");
ServletOutputStream sos = res.getOutputStream();
PrintWriter pw = new PrintWriter(sos,true);
pw.println("¤E¤E¼ªkªí<br>");
for (int a=1;a<=9;a++) {
for (int b=1;b<=9;b++) {
int
c=a*b;
pw.print(a+"*"+b+"="+c+"\t");
}
pw.println("<br>");
}
}
}
=============================================================
(¤G) ¸ê®Æ®wSELECT ==>¦s¦¨test1.java(¥²¶·¸g¹L
compile ¦A©ñ¤JSERVLET®Ú¥Ø¿ý)
import java.io.*;
import java.sql.*;
import
javax.servlet.*;
import
javax.servlet.http.*;
public class test16
extends HttpServlet
{
public void
doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException,
IOException
{
String sql
= "select * from ¸ê®Æªí";
Connection
con = null;
Statement
statement = null;
ResultSet
rs = null;
res.setContentType("text/html; charset=Big5");
ServletOutputStream
sos = res.getOutputStream();
PrintWriter pw = new PrintWriter(sos,true);
try
{
Class.forName("org.gjt.mm.mysql.Driver");
con =
riverManager.getConnection("jdbc:mysql://
163.15.102.142:3306/¸ê®Æ®w¦WºÙ?user=±b¸¹&password=±K½X");
statement =
con.createStatement();
rs =
statement.executeQuery(sql);
ResultSetMetaData
rsmd = rs.getMetaData();
int colCount =
rsmd.getColumnCount();
pw.println("<html>");
pw.println("<head><title>book data
base</title></head>");
pw.println("<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=big5\">");
pw.println("<body>");
pw.println("<table cellspacing=10>");
pw.println("<tr>");
for(int i =1; i
<= colCount; i++)
pw.println("<th>"+rsmd.getColumnLabel(i));
pw.println("</tr>");
while (rs.next())
{
pw.println("<tr>");
for( int i = 1; i <=colCount; i++)
{
pw.println("<td>");
Object obj = rs.getObject(i);
if (obj != null) pw.println(obj.toString());
else pw.println(" ");
}
pw.println("</tr>");
}
pw.println("</table>");
pw.println("</body>");
pw.println("</html>");
}
catch (ClassNotFoundException e)
{pw.println("µLªk¸ü¤J¸ê®Æ®w: "+e.getMessage());}
catch (SQLException e)
{pw.println("SQLException."+e.getMessage());}
finally
{
try
{ if (con != null) con.close();}
catch (SQLException sqle) {}
}
}
}
¦w¸ËTomcat¦¨¬°NTªºSERVICE¡]¥Htomcat 3.2.1¬°¨Ò¡^¡G
1.¥Ñhttp://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/win32/i386/¤U¸ü
jk_nt_service.exe
2.×§ïjakarta-tomcat\conf¤l¥Ø¿ý¤Uªº
wrapper.properties ¦p¤U
§ó§ï wrapper.tomcat_home «á±ªº±Ôz¬°tomcatªº¥Ø¿ý¦p
d:\jakarta-tomcat
§ó§ï wrapper.java_home «á±ªº±Ôz¬°
Java ªº®Ú¥Ø¿ý¦p c:\jdk1.3
¥[¤W
wrapper.class_path=d:\mm.mysql.jdbc-2.0pre5\
3.°õ¦æjk_nt_service
-I <name of service> <path to updated wrapper properties>
<name of service> ¬O«ü¤@¨S¦³ªÅ¥Õ¦r¤¸ªºªA°È¦WºÙ¦p
Jakarta
<path to updated wrapper
properties> ¬° wrapper.properties ÀɩҦbªº§¹¾ã¸ô®|¦WºÙ (¦Ó¥B¨t²ÎªA°È±N·|Àˬd¬O§_¦s¦b³oÓÀÉ)
¨Ò¦p¤@Ó¹ê»Úªº½d¨Ò©R¥O¦p¤U ¡G
jk_nt_service
-I Jakarta wrapper.properties ©ÎªÌ
jk_nt_service.exe
-I jakrta D:\jakarta-tomcat\conf\wrapper.properties
4.±Ò°ÊTomcat°µ¬°¨t²ÎªA°È
©R¥O¦C°õ¦æ¤è¦¡¡G net start <ªA°È¦WºÙ>
(e.g. net start Jakarta)
¹Ï§Î¤¶±¡G¦b¨t²ÎºÞ²z¤u¨ã¡]windows2000¡ANT«h¬°±±¨î¥x¡^ªºªA°È¿ï¶µ¡A¤Ï¥ÕjakartaªºªA °È¦WºÙ¡A¿ï¾Ü±Ò°Ê¡C
5.°±¤îTomcat°µ¬°¨t²ÎªA
©R¥O¦C°õ¦æ¤è¦¡¡G net stop <ªA°È¦WºÙ>
(e.g. net stop Jakarta)
¹Ï§Î¤¶±¡G¦b¨t²ÎºÞ²z¤u¨ã¡]windows2000¡ANT«h¬°±±¨î¥x¡^ªºªA°È¿ï¶µ¡A¤Ï¥ÕjakartaªºªA °È¦WºÙ¡A¿ï¾Ü°±¤î¡C
¾ã¦XTomcat¤ÎIIS¡]¥Htomcat 3.2.1¬°¨Ò¡^¡G
¤@¯ë¦Ó¨¥IIS¬OµLªk°õ¦æServerlet ¤Î JSP ªº¡CnÂǵ۳]©wIIS¤Î¨Ï¥ÎTomcat
redirector plugin ¨Ó¨Ï±o IIS ¥Ñ80°ð¥i¦V Tomcat ´£¥X Serverlet ¤Î JSP ªºªA°È»Ý¨D¡C
¤@¡B¤å¥ó»¡©ú¤Î°²©w¡G
·í§A¦w¸Ë¦n Tomcat ¤§«áÀ³¸Ó¦³¥H¤Uªº¥Ø¿ý¡G
conf ©ñ¸m Tomcat ³]©wÀɪº¥Ø¿ý
webapps ©ñ¸m½d¨ÒÀ³¥Îµ{¦¡¥Ø¿ý
bin ©ñ¸mweb server plugins ªº¥Ø¿ý
¥H¤Uªº¤å¥ó±N°²©w Tomcat ¬O¦w¸Ë¦b d:\jakarta-tomcat
worker¥Ø¿ý«h¬O Tomcat ³B²z±q IIS ±µ¤â¹L¨Óªº¤u§@¥Ø¿ý¡C
¤G¡B¨t²Î»Ý¨D¡G
Windows NT SP4/6/6/6a¡BWindows98¡BWindows 2000
IIS4/IIS5/PWS4
Tomcat3.2
¤T¡B¦w¸Ë
Tomcat «¾É¾¹(redirector)»Ýn¤TÓÀɮסG
¦w¸Ë¹Lµ{¥]¬A¥H¤U´XÓ³¡¥÷:
¥»¤å¤¤±N°²©w isapi_redirect.dll ¬O©ñ¦b¥H¤Uªº¦ì¸m c:\jakarta-tomcat\bin\win32\i386\isapi_redirect.dll ¦Ó¥B§A¥i¥H¦bc:\jakarta-tomcat\conf ³Ð³yÄÝ©ÊÀÉ ( properties )
«·s±Ò°Êstart Tomcat ¨Ã¥B¿é¤J http://127.0.0.1/examples/jsp/index.html ¨t²Î·|¥X²{tomcatªº½d¨Òºô¶¡C
¼W¥[ªþ¥[Àô¹Ò±ø¥ó
·s¼W¤@À³¥Îµ{¦¡
¦bjakarta-tomcatªº¦w¸Ë¸ô®|¤¤§ä¨ìconf ¥Ø¿ý¡A¨ä¤¤¥]§t¤@Ó server.xml ÀÉ¡A¦b¸ÓÀɮפº®e¤¤·s¼W§A©Òn¼W¥[ªºÀ³¥Îµ{¦¡¸ô®|¨ä¬ÛÃö¸ê°T¡A¨Ò¦p§An·s¼Wªº¸ô®|¬° Teach_job ®É¤º®e¦p¤U¡G
¦¹®É¦b Jakarta-tomcat ªº¸ô®|¤¤ªºwebapps ·s¼W Teach_job ¥Ø¿ý¡A¨Ã¦b¸Ó¥Ø¿ý¤U·s¼W WEB-INF ¡A ¨ä¤U¦A·s¼WCLASSESªº¥Ø¿ý¡A·s¼W¤º®e ¤¤ªºrelodable¬°µ{¦¡×§ï«á¬O§_¥ß§Y§ó·s¡A¦bµo®i¤¤ªºµ{¦¡¨äȬ°true¡AY¬O¤wéwªº¨t²Î«h³]¬° false¡A¥i¼W¥[°õ¦æ®Ä²v¡C
<Context path="/Teach_job"
docBase="webapps/Teach_job"
crossContext="false"
debug="0"
reloadable="true" >
</Context>
¦bLinux¤WªºJSP¤ÎJava Servlet ¥¥x
¦b¥»½g²³æ¬[³]¤å¥ó¤¤¡A±N¥HSunªºJDK¤ÎApacheªºjakarta-tomcat¬°¨Ò¡G
¤u§@¥¥x¡GRedhat7.0+CLE1.0
¤U¸üÀɮסG
1. SunªºJDK1.3
¦Ühttp://java.sun.com/jese/1.3/download-linux.html¤¤¤U¸ü
j2sdk-1.3.1-linux-rpm.bin¤j¬ù25Mbytes
2. Sunªºjsdk2.2
¦Ühttp://java.sun.com/product/servlet/download.htm
¤¤¤U¸ü
½Ð¿ï¾Ü2.2-Final Release¤UªºDownload class files
servlet-2_2b.zip¤j¬ù30K bytes
3. Apacheªºjakarta-tomcat
¦Ühttp://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin¤¤¤U¸ü
Jakarta-tomcat-3.2.1.tar.gz¤j¬ù2.7M bytes
4. MySQLªºJDBC
¦Ühttp://mysql.com/downloads/api-jdbc.html¤¤¤U¸ü
mm.mysql.jdbc-2.0pre5.tar.gz¤j¬ù565K bytes
¦w¸Ë
1. ¥ÎrootªºÅv¡C
2. °õ¦æsh./j2sdk-1.3.1-linux-rpm.bin
¦^µª¤@¨Ç¦³ªº¨S¦³ªº°ÝÃD¡A³Ì«á·|²£¥Íj2sdk-1.3.1-linux.rpm
3. rpm-ihv
j2sdk-1.3.1-linux.rpm
4. mkdir jsdk2_2b
5. cp jsdk2_2b.zip
jsdk2_2b
6. cd jsdk2_2b
7. unzip jsdk2_2b.zip
8. cd
9. mv jsdk2_2b/opt
10. cd /opt
11. tar zxvf
/root/jaka-tomcat-3.2.1.tar.gz
12. tar zxvf
/root/mm.mysql.jdbc-1.2c.tar.gz
13. §â¤U¦C´X¦æ¥[¤J /etc/profile ³Ì«á±
#
# Env.Java
#
PATH=¡¨$PATH:/usr/java/jdk1.3.1/bin¡¨
JAVA_HOME=¡¨/usr/java/jdk1.3.1¡¨
CLASSPATH=¡¨./usr/java/jdk1.3.1/lib/tools.jar:/opt/jsdk2_2b/lib/jsdk.jar¡¨
CLASSPATH=¡¨$CLASSPATH:/opt/mm.mysql.jdbc-2.opre5/¡¨
Export PATH
CLASSPATH JAVA_HOME
#
# Env.Tomcat
#
TOMCAT_HOME=¡¨/opt/jaka-tomcat-3.2.1¡¨;export
TOMCAT_HOME
14. logout«á«·s¥Îroot login
15. cd
/opt/jaka-tomcat-3.2.1/bin
16. ./startup.sh À³¸Ó¥i¥H¬Ý¨ì¦p¤Uªºµe±
./startup.shÀ³¸Ó¥i¥H¬Ý¨ì¦p¤Uªºµe±
[root@home bin]#
./startup.sh ´N¥i¥H¬Ý¨ìjakarta-tomcat¦b8080°ð±Ò°ÊHttpConnectionHandler on 8080¡CAjp12ConnectionHandler
on 8007
17. §ä¤@¥x¦³browserªº¹q¸£¡A¥´¤Jhttp://server-ip:8080/examples/jsp¡A¦pªG§A¨£¨ì´ö©i¿ßªºµe±¡A«h¤j¥\§i¦¨¡C
«P¦¨Tomcat ©M Apache ¦P¤ß¨ó¤O¤À¤u¦X§@
¥ÑApach t³dÀRºA¤å¥óªA°È¡]¦phtml¡Bgif¡^¡A¦ÓTomcat t³d°ÊºA¤å¥ó¡]¦p¸ê®Æ®w¡^¡A¦U¾Õ©Òªø¡A¤À¤u¦X§@¡C¨BÆJ¦p¤U¡G
1.cp mod_jserv.so
/usr/lib/apache
µù¡G©Î¬O§A¨t²Î¤Wapache©ñ¸mµ{¦¡®wªº¥Ø¿ý
2.cp
/usr/local/Jakarta-tomcat-3.2.1/conf/tomcat-apache.conf /hoem/httpd/conf/.
3.vi
/home/httpd/conf/httpd.conf
¥[¤J include
/home/httpd/conf/tomcat-apache.conf
4.¦bÂsÄý¾¹¤W¡A¥´¤Jhttp://server-ip/examples/jsp , ¦pªG§A¨£¨ì´ö©i¿ßªºµe±¡A«h¤j¥\§i¦¨¡C
ÅýLinux¶}¾÷«á¦Û°Ê°õ¦ætomcat
¦b /etc/rc.d/rc.local ¥[¤J¥H¤U´X¦æ§Y¥i
#
# start Tomcat
#
export
PATH=$PATH:/usr/java/jdk1.3.1/bin
export
JAVA_HOME=/usr/java/jdk1.3.1
export
CLASSPATH=/usr/java/jdk1.3.1/lib/tools.jar:/hdd-d/jsdk2.0/lib/jsdk.jar
export
CLASSPATH=$CLASSPATH:/hdd-d/mm.mysql.jdbc-2.0pre5/
export
TOMCAT_HOME=/usr/local/jakarta-tomcat-3.2.1
/usr/local/jakarta-tomcat-3.2.1/bin/startup.sh