untitled

Size: px
Start display at page:

Download "untitled"

Transcription

1

2

3 158 JSP Java Server Pages JSP 11 6 Web XML Web Java JSP / ISBN /TP ~

4

5 Internet HTML HTML HTML Internet ASP PHP JSP ASP PHP JSP JSP ASP ASP JSP Java Script JSP Internet Web HTML JSP JavaBeans XML Web Web

6

7 1 Web Internet TCP/IP Browser HTML CGI Common Gateway Interface ASP Active Server Pages JSP Java Server Page ODBC Open Database Connectivity JDBC Java Database Connectivity 6 2 JSP JSP JSP JSP JSP ASP PHP JSP JSP JDK JSWDK Tomcat JSP number.jsp Hello World! 21 3 JSP Java Servlet Java Servlet JSP Servlet 25

8 II JSP Java Servlet Servlet Java Servelt Servlet Servlets Servlet Servlet Servlet Runner Servlet Servlet Servlet HTML Servlet HTML Servlet Form Servlet Servlet HTML Servlet JSP Servlet Servlet JSP Java Java Java Applet Java Java Java Java Java Java 110

9 III 5 JSP HTML HTML HTML JSP HTML HTML JSP HTML JSP HTML JSP JSP JSP JSP JSP Include Include Include JSP Include Page Page Page Page JSP Page <jsp:usebean> <jsp:usebean> <jsp:usebean> <jsp:usebean> JSP <jsp:usebean> Scriptlet Scriptlet Scriptlet Scriptlet 126

10 IV JSP 5.10 Taglib Taglib Taglib Taglib Taglib <jsp:plugin> <jsp:plugin> <jsp:plugin> <jsp:plugin> <jsp:plugin> <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> <jsp:setproperty> <jsp:setproperty> <jsp:setproperty> <jsp:setproperty> <jsp:setproperty> <jsp:forward> <jsp:forward> <jsp:forward> <jsp:forward> <jsp:forward> JavaBeans JavaBeans JavaBeans Javabeans JavaBeans Java JavaBeans JavaBeans API

11 V 6.3 JavaBeans JSP Beans <jsp:usebean> <jsp:getproperty> <jsp:setproperty> JSP JavaBeans HTML JSP SQL Primary Keys Foreign Keys

12 VI JSP SQL Server SQL SQL SQL SQL SQL SELECT SELECT SELECT WHERE SQL Delete Update Insert Into Select Into JSP JSP JSP JDBC JDBC CGI Java JDBC Driver DriverManger MS SQL

13 VII JSP XML XML XML HTML Script Component XML JSP XML XML XML DTD XML XML JSP JSP XML 349 A Servlet API 350 B Java 408

14 1 Web 21 Web Internet Internet Web 1.1 Internet Web Internet Web Internet TCP/IP Internet Protocol Internet / TCP/IPTCP IP TCP/IP Internet Internet TCP/IP Winsock Windows TCP/IP API TCP/IP TCP/IP Browser Internet Explorer IE Netscape Communicator

15 2 NC IE NC IE NC HTML HTML Hypertext Markup Language HTML HTML Dynamic HTML JavaScript VBScript ASP JSP PHP HTML HTML IE Frontpage Express Office97 Word HTML HTML HTML ASP JSP PHP HTML HTML HTML HTML HTML HTML HTML Static Web HTML Web Web

16 3 IE Java JavaScript VBScript ActiveX NC Java JavaScript Java JavaScript VBScript ActiveX IE NC IE NC IE Java JavaScript Java JavaScript VBScript ActiveX 4 JavaScript VBScript JavaScript VBScript Web Web Java ActiveX Web Web Web Web Web Web Web CGI CGI Common Gateway Interface CGI Web DOS shell shell shell CGI CGI shell shell CGI

17 4 shell CGI shell CGI CGI (1) Web CGI CGI Web Web CGI (2) ISP CGI ISP (3) ASP Active Server Pages ASP CGI CGI Web CGI (1) CGI CGI ASP ASP Script (2) ActiveX ASP Windows ActiveX ASP ASP Windows ActiveX ADO Active Data Object Web ASP Windows JSP Java Server Pages JSP ASP ASP ASP JSP 1.2 Web ODBC Open Database Connectivity

18 5 ODBC bug ODBC ODBC ODBC ODBC ODBC PCI DAO RDO ADO ODBC PCI DAO Data Access Object ODBC.mdb DAO Access Visual Basic Visual C++ Excel Word ODBC DAO RDO Remote Data Access Object RDO RDO RDAO DAO SOL Internet Active Internet OCX+Internet ActiveX Web Server Page Active Server PageDAO ActiveX DAO ADO DAO SQL RDO Internet Internet

19 6 DAO RDO ADO SQL SQL DDL Data Definition Language DML Data Manipulation Language DDL DML SQL SQL Access SQL SQL DAO RDO ADO SQL SQL ADO JDBC Java Database Connectivity ODBC JDBC Java JDBC Java Java API JDBC SQL JDBC JSP JDBC 9 JSP

20 2 JSP JSP JSP JSP JSP JSP JSP JSP JSP 2.1 JSP JSP Sun Sun Microsystems Inc JSP JSP JSP Web / Web HTML Web CGI-BIN Web Web

21 8 CGI Web Web API Web Web ASP TM Web IIS Personal Web Server Java Servlet Java Java Servlet Java Applet Servlet Web HTTP HTML XML Java Servlet Web Java Servlet Web Web JSP JSP Web Sun Microsystems Java Java Servlet JavaBeansTM Web JSP *.jsp HTML *htm,*.html Java Scriptlet JSP TagWeb JSP HTML Plug-in ActiveX Java Applet Frame JSP Sun JSP Web JSP Web Sun JSP Apache WebServer IIS % JSP ASP ASP JSP

22 JSP JSP Web HTML XML JSP JavaBeans Beans Web JSP JSP JSP JavaBeans JDBCTM HTML XML HTML Web JSP JavaBeans Enterprise JavaBeansTM Web Java Server Page JSP XML JSP JavaBeans Applet JSP Web JSP Java Java 2 JSP Web JSP Java Java Servlet Java

23 10 Java JSP Java JSP Java 2 J2EE Enterprise JavaBeans JSP Web JSP ASP PHP ASP Active Server Pages Web Web ASP VBScript JScript HTML Windows ASP HTML ASP ASP VBScript JScript Web ASP ActiveX scripting VBScript JScript Plug-in REXX Perl Tcl COM Component Object Model ActiveX Server Components ActiveX Visual Basic Java Visual C++ ActiveX Server Component PHP C Java Perl Web PHP PHP PHP My SQL PHPLIB PHP Oracle My SQL Sybase PHP Web PHP HTML JSP Servlet Java JSP ASP PHP JSP HTML HTML Web

24 11 ASP PHP JSP HTML Web JSP Sun ASP PHP Oracle JSP ASP PHP PHPLIB Oracle Insert Update Select Delete JSP 13 PHP 69 ASP 73 ASP Microsoft IIS Internet Information Server Windows NT PWS Personal Web Server Windows 98UNIX ChiliSoft ASP ASP ASP+COM UNIX COM PHP3 Windows UNIX Linux Web IIS Apache Web PHP3 JSP PHP3 Win NT Linux UNIX NT IIS JRUN ServletExec JSP Web Apache JSP Apache NT UNIX Linux JSP NT UNIX Linux JSP JavaBeans Java PHP ASP JSP JSP JSP PHP SinaChinaren PHP PHP PHP PHP ASP JSP ASP Microsoft Windows COM/DCOM ActiveX DCOM Transaction Server JSP SUN Java Java Class EJB EJB/CORBA Application Server ASP PHP JSP JSP ASP ASP Session Application JSP Java Scripting ASP Windows Java JSP JSP JSP/Servlet IBM E-business JSP/Servlet

25 12 WebSphere Intershop CGI Enfinity JSP/Servlet Application Server 2.2 JSP JSP Java JSP Windows 2000 Windows 98 JSP JSP Sun JSP JSP JSP JSP Java Development Kit-JDK JDK JavaSoft Java 20MB Java JDK JDK 1.3 JDK JSP JSP Sun Java Server Web Development Kit JSWDK JSWDK JSWDK startserver Linux Tomcat JDK jdk1_2_2-001-win.exe JDK [X:\]jdk1.2.2 JRE [X:\]Program Files\JavaSoft\JRE\1.2[x:\] NT Win Path Path ;[X:\]jdk1.2.2\bin 2-2

26 Path Classpath [X:\]jdk1.2.2\lib\tools.jar;[X:\]jdk1.2.2\lib\dt.jar Classpath Win98 C:\autoexec.bat autoexec.bat set path=%path%;[x:\]jdk1.2.2\bin set CLASSPATH= [X:\]jdk1.2.2\lib\tools.jar;[X:\]jdk1.2.2\lib\dt.jar

27 14 [X:\]jdk1.2.2\ JDK Linux JDK root]# gunzip jdk1_2_2rc2-linux-i386.tar.gz root]# tar zxvf jdk1_2_2rc2-linux-i386.tar root]# mv jdk1.2.2 /usr/local/jdk122 root]# vi.bash_profile Java_HOME=/usr/local/jdk122 PATH=$PATH:$Java_HOME/bin CLASSPATH=/usr/local/jdk122/lib/tools.jar:. export Java_HOME export PATH CLASSPATH JSWDK JSWDK jswdk1_0ea-win.zip [X:\] \jswdk-1.0.1\ startserver.bat JSWDK JSP Web Web IIS PWS JSWDK Web JSWDK JSP Web stopserver.bat JSWDK Web [X:\]jswdk-1.0.1\webpages JSWDK index.html Tomcat Tomcat 3.0 (1) WinZIP tomcat.zip [X:\] jakatar-tomcat tomcat [x:/]tomcat (2) [X:\]tomcat\conf server.xml ContextManager tag <Connector classname="org.apache.tomcat.service.simpletcpconnector">

28 15 <Parameter name="handler" value="org.apache.tomcat.service.http. HttpConnectionHandler"/> <Parameter name="port" value="80"/> </Connector> tomcat 9000 (3) [X:\]tomcat\bin startup.bat JDK_HOME\LIB\tools.jar CLASSPATH CLASSPATH JDK (4) startup.bat start tomcat Tomcat Version 3.0 Tomcat [X:\]jswdk-1.0.1\startserver.bat startserver.bat JSWDK Path Classpath tools.jar dt.jar Classpath startserver.bat set Java_HOME=[[X:\]]jdk1.2.2 [[X:\]] jdk startserver.bat

29 16 start java com.sun.web.shell.startup %1 %2 %3 %4 %5 %6 %7 %8 %9 java com.sun.web.shell.startup %1 %2 %3 %4 %5 %6 %7 %8 %9 JSWDK 8080 JavaServer(tm) web Dev Kit Version 1.0 EA Loaded configuration from file:c:\temp\jswdk1_0ea-win\jswdk-1.0ea\default.cfg Can not start endpoint on null:8080 due to exception java.net.bindexception: Add ress in use: bind [X:\] jswdk-1.0.1\default.cfg server.port 8081http://localhost:8081 Win98 startserver.bat Win98 Win98 startserver.bat MS-DOS MS-DOS Win98 MS-DOS JSWDK DOS Java Software\JavaSoft\Java Runtime Environment Windows regedit.exe Java JDK 2-6

30 JSP JSP number.jsp JSP JSWDK Web JSWDK Web \jswdk-1.0.1\webpages index.html index.jsp \jswdk-1.0.1\webpages\index.html \jswdk-1.0.1\webpages\index.jsp number.jsp \jswdk-1.0.1\webpages\ number.jsp <html> <head> <title>jsp </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> page language="java" %> <%! String mstr;%> JSP

31 18 <br> <% mstr=""; for(int i=0;i<10;i++) mstr=mstr+i+" "; out.println(mstr); out.println("<br>"); %> </body> </html> number.jsp JSP JSP JSP page language="java" %> Java JSP Java JSP JSP JSP <%!%> <%! String mstr;%> Java <%%> JSP Java

32 19 for out out.println <br> html mstr String for number2.jsp number2.jsp <html> <head> <title>jsp </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> page language="java" %> <%! String mstr="";%> JSP <br> <% for(int i=0;i<10;i++) mstr=mstr+i+""; %> <%=mstr%> <br> <%%> </body> </html> (1) Java VBScript JSP Java (2) Java <%! String mstr="";%> 2-8 Java mstr=" " 2-8 <%! String mstr=new String("");%> ASP if state="welcome to JSP" then...

33 number2.jsp Java String String str1="welcome to JSP"; String str2="welcome to JSP"; (or String str2="welcome to"+" JSP"; ) if (str1= =str2) out.print("yes"); else out.print("no"); "yes" String str1,str2,str3; str1="welcome to JSP"; str2="welcome to"; str3=str2+" JSP"; if (str1= =str3) out.print("yes"); else out.print("no"); "no" String str1=new String("welcome to JSP "); String str2=new String("welcome to JSP "); if (str1= =str2) out.print("yes"); else out.print("no");

34 21 "no" String str1=new String("welcome to JSP"); String str2=new String("welcome to JSP"); if (str1.compareto(str2)= =0) out.print("yes"); else out.print("no"); "yes" JSP compareto( ) Java (3) <%=mstr%> HTML out.println <br> JSP (4) JSP Java <% %> for Hello World! JSP JavaBeans JavaBeans Java class JavaBeans Package JavaBeans Package test test Classpath JavaBeans JSWDK \jswdk-1.0.1\webpages\web-inf\jsp\beans\ Classpath JavaBeans Package JavaBeans helloworld.java \jswdk-1.0.1\webpages\web-inf\jsp\beans\test helloworld.java package test; public class helloworld public String name = "Hello World!"; public String gethi( ) return name;

35 22 helloworld.java DOS JSWDK JavaBeans \jswdk-1.0.1\webpages\web-inf\jsp\beans\ JDK javac helloworld.java javac helloworld.java JavaBeans JSP JavaBeans helloword.jsp \jswdk-1.0.1\webpages\ helloworld.jsp <html> <head> <title>javabeans </title> </head> <body> <jsp:usebean id="hellobean" scope="session" class="test.helloworld"/> <%=hellobean.gethi( ) %> <hr> <% hellobean.name="welcome To JSP World!"; out.print(hellobean.gethi( )); %> </body> </html> JSP <jsp:usebean... /> JavaBeans hellobean JavaBeans JavaBeans helloworld.jsp JavaBeans JSWDK Web

36 23 JSP JSWDK Web JavaBeans JavaBeans JSP JavaBeans

37 3 JSP Java Servlet Java Servlet Servlet Servlet JSP Servlet Servlet Java 2.0 Java CGI Servlet CGI Web Web Servlet Servlet 3.1 Java Servlet Servlet Java / CGI Web Servlet Java Java Web HTTP Servlet Servlet Java CGI Servlet Web CGI CGI Servlet Servlet Servlet Web Servlet Servlet HTTP HTTP Web Servlet Servlet Servlet Servlet Web 3-1 Servlet Java Servlet Java Applet Servlet Applet Java Servlet Web Applet Servlet Java Servlet Java Applet Applet Applet

38 Servlet JSP Servlet Servlet Applet Web Servlet HTTP Web Java API Servlet JSP HTML XML Java JSP JSP JSP ServletJSP Servlet Java JSP Servlet (1) HTML HTTP Servlet (2) Servlet (3) Servlet Servlet (4) Servlet Servlet Java Servlet Java Servlets CGI CGI

39 26 CGI HTTP CGI Java Servlets Java Java thread CGI CGI N CGI N Java Servlets N Java Servlets Class Copy Java Servlets CGI Java Servlets HTML HTTP Cookies Session Java Servlets CGI Java Servlets CGI Java Servlets Request Session CGI CGI CGI CGI Servlet CGI PERL Java SSL CA Java Servlets Java API Web

40 Servlet Servlet Java Java Servlet API Servlet interface Servlet interface Class HttpServlet Servlet interface Servlet Servlet Servlet Servlet ServletRequest ServletResponse ServletRequest ServletResponse Servlet ServletRequest Servlet ServletInputStream HTTP POST PUT ServletRequest Servlet HttpServletRequest HTTP-specific ServletResponse Servlet Servlet MIME Multipurpose Internet Mail Extensions ServletOutputStreamServletResponse protocol-specific HttpServletResponse Servlet HTTP-specific Servlet HTTP Servlet Servlet-tracking capabilities Servlet API Servlet Servlet HttpServlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SomeServlet extends HttpServlet public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException // "request" (e.g. cookies) // // "response"

41 28 PrintWriter out = response.getwriter( ); // "out" Java Servlet Servlet javax httpservlet HttpServlet HTTP HttpServlet Service Get HTTP Server Get Head Get HTTP doget HTTP BAD_REQUEST doget protected void doget(httpservletresquest request, HttpServletResponse response) throws ServletException, IOException; Post Servlet Post dopost HTTP BAD_REQUEST Servlet Post HttpServlet protected void dopost(httpservletresquest request, HttpServletResponse response) throws ServletException, IOException; Put FTP Put

42 29 protected void doput(httpservletresquest request, HttpServletResponse response) throws ServletException, IOException; Server URL Delete dodelete HTTP BAD_REQUEST Servlet Delete HttpServlet protected void dodelete (HttpServletResquest request, HttpServletResponse response) throws ServletException,IOException; Get Header Get HTTPDE Head protected void dohead (HttpServletResquest request, HttpServletResponse response) throws ServletException, IOException; HTTP Servlet HttpServlet doget dooptions header Allow GET HEAD TRACE OPTIONS dooptions protected void dooptions (HttpServletResquest request, HttpServletResponse response) throws ServletException, IOException;

43 30 Trace header Servlet protected void dotrace (HttpServletResquest request, HttpServletResponse response) throws ServletException, IOException; HTTP Servlet doget dopost Servlet Servlet Applet Applet Servlet Applet Servlet Servlet Servlets Servlets Servlet Servlet init( ) public void init(servletconfig config) throws ServletException super.init( ); // init( ) super.init( ) init( ) Servlet Destroy Servlet Servlet Servlet Servlet Service Servlets Service Service thread-safe Service Servlet Field Service SingleThreadModel interface Servlet... PrintWriter out = response.getwriter( );

44 31 // out.println("<html>"); out.println("<head><title>"# Servlet </title></head>"); out.println("<body>"); out.println("<h1> Hello World.</h1>"); out.println("</body></html>"); out.close( );... HTTP Get Post doget( ) Get dopost( ) Post Servlet API Servlets init( ) destroy( ) init( ) super.destroy( ) public void destroy( ) // init( ) Servlets JSP JSP Servlets Servlets JSP Servlet Servlet 2.2 API Servlet HTML XML JSP Servlet IDE Servlet HTML htmlkona HTML Servlet html dhtml JSP Servlets JSP JSP JSP 1 JSP 2 1 JSP

45 32 Beans 1 1 Script Java Java JSP 2 Servlet JSP JSP Servlets Servlet Servlet JSP bean JSP JSP Servlet Beans 2 2 JSP Servlet 2 Servlet JSP Servlet Servlet Java *.java Servlet Java Servlet JSP Servlet Servlet Java Servlets JSP JDK javac.exe javac javac < > <> -g Generate all debugging info -g:none Generate no debugging info -g:lines,vars,source Generate only some debugging info -O Optimize;may hinder debugging or enlarge class files -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are used

46 33 -CLASSPATH <path> Specify where to find user class files -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -d <directory> Specify where to place generated class files -encoding <encoding> Specify character encoding used by source files -target <release> Generate class files for specific VM version Servlet Web Server Servlet JSWDK Servlet Web Server Servlet Servlet URL /servlet URL Servlet Server Servlet Server URLhttp://localhost:8080/servlet/HelloWorldServlet Servlet Servlet Servlet Servlet JSWDK Servlet C:\jswdk-1.0.1\webpages\Web-INF\servlets C:\jswdk-1.0.1\ JSWDK JSWDK JSWDK Servlet class URL JSWDK default.cfg server.docbase=webpages Servlet JSWDK Servlet JSWDK default.cfg server.webapp.examples.mapping=/examples server.webapp.examples.docbase=examples server.webapp.examples.mapping=/examples C:\jswdk-1.0.1\ \examples Servlet C:\jswdk-1.0.1\examples\Web-INF\servlets\myservlet.class Java Servlets class Servlets class

47 Servlet Runner Servlet Servlet Runner Servlet Servlet Runner <JDK>/bin -help Usage: servletrunner [options] Options: -p port the port number to listen on -b backlog the listen backlog -m max maximum number of connection handlers -t timeout connection timeout in milliseconds -d dir servlet directory -r root document root directory -s filename servlet property file name -v verbose output -v Runner Server settings: port = 8080 backlog = 50 max handlers = 100 timeout = 5000 servlet dir =. document dir =. servlet propfile =.:servlet.properties Servlet Runner Servlet servlet-name Servlet Shop Servlet servlet-name Shop Servlet Servlet URL Servlet Servlets Servlet HelloWorld.java myhelloworld.java import java.io.*;

48 35 import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException response.setcontenttype("text/html"); PrintWriter out = response.getwriter( ); out.println("<html>"); out.println("<body bgcolor=\"white\">"); out.println("<head>"); String title="hello World"; out.println("<title>"+ title +"</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>" + title + "</h1>"); out.println("</body>"); out.println("</html>"); javac Hello World.java Hello World.class Hello World Servlet class [X]:\jswdk-1.0.1\examples\Web-INF\servlets\ Hello World Servlets Hello World Servlets Java CLASSPATH

49 36 [X:]\jswdk-1.0.1\classes; [X:]\jswdk-1.0.1\webserver.jar; [X:]\jswdk-1.0.1\lib\jakarta.jar; [X:]\jswdk-1.0.1\lib\servlet.jar; [X:]\jswdk-1.0.1\lib\jsp.jar; [X:]\jswdk-1.0.1\lib\jspengine.jar; [X:]\jswdk-1.0.1\examples\Web-INF\jsp\beans; [X:]\jswdk-1.0.1\webpages\Web-INF\servlets; [X:]\jswdk-1.0.1\webpages\Web-INF\jsp\beans; [X:]\jswdk-1.0.1\lib\xml.jar; [X:]\jswdk-1.0.1\lib\moo.jar; [X:]\jswdk-1.0.1\lib\tools.jar [X:] JSWDK Servlet Java 3.3 Servlet (Form) JSP Servlet HTML HTML HTML Form 5 1. <form></form> 2. <input> 3. <textarea></textaea> 4. <select></select> 5. <option> <form> <form> ACTION URL METHOD Post Get ENCTYPE Form

50 37 <input> TYPE <input> TYPE <input name="yourname" type="yourtype"> (1) Text TYPE Text <textarea> Name Size User Agent Maxlength Maxlength Size Value 3-4 Text <input type="text" name="textfield" size="30" value="damboo"> (2) Password

51 38 type="password" <input> Password Text * 3-4 Password <input type="password" name="textfield2" size="30" value="damboo"> (3) Radio type="radio" <input> Name Radio Radio Radio Radio <input>checked Radio Name Value Checked Checked 3-4 Radio <input type="radio" name="radiobutton" value="man" checked> <input type="radio" name="radiobutton" value="women"> (4) Checkbox type="checkbox" <input> Radio Name Value Checked ON 3-4 Checkbox <input type="checkbox" name="checkbox" value="checkbox"> <input type="checkbox" name="checkbox2" value="checkbox"> <input type="checkbox" name="checkbox3" value="checkbox"> (5) Image type="image" <input> X Y X Y TYPE=Image TYPE=Submit Name SRC Align 3-4 Checkbox <input type="image" border="0" name="imagefield" src="logo.gif" width="142" height="60">

52 39 (6) submit type="submit" <input> Form Web Name Value Name Value 3-4 submit <input type="submit" name="submit" value=" "> (7) reset type="reset" <input> Form reset submit 3-4 submit <input type="reset" name="reset" value=" "> (8) hidden type="hidden" <input> hidden 3-4 hidden <input type="hidden" name="hiddenfield" value="this is a hidden field."> input.jsp input.jsp <html> <head> <title>input types</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <form name="form1" method="post" action=""> <p align="center"><b><font size="5"></font></b></p> <table width="700" border="0" cellspacing="10"> <tr> <td width="18%" height="27">1.text </td> <td width="82%" height="27"> <input type="text" name="textfield" size="30" value="damboo"> </td> </tr>

53 40 <tr> <td width="18%">2.password </td> <td width="82%"> <input type="password" name="textfield2" size="30" value="damboo"> </td> </tr> <tr> <td width="18%">3.radio</td> <td width="82%"> <input type="radio" name="radiobutton" value="man" checked> <input type="radio" name="radiobutton" value="women"> </td> </tr> <tr> <td width="18%">4.checkbox</td> <td width="82%"> <input type="checkbox" name="checkbox" value="checkbox"> <input type="checkbox" name="checkbox2" value="checkbox"> <input type="checkbox" name="checkbox3" value="checkbox"> </td> </tr> <tr> <td width="18%" height="65">5.image</td> <td width="82%" height="65"> <input type="image" border="0" name="imagefield" src="logo.gif" width="142" height="60"> </td> </tr> <tr> <td width="18%">6.submit</td> <td width="82%"> <input type="submit" name="submit" value=" "> </td> </tr> <tr> <td width="18%" height="28">7.reset</td> <td width="82%" height="28"> <input type="reset" name="reset" value=" "> </td> </tr> <tr>

54 41 <td width="18%" height="28">8.hidden</td> <td width="82%" height="28"> <input type="hidden" name="hiddenfield"> ( </td> </tr> </table> </form> </body> </html> <textarea> <form name="form1" method="post" action=""> <p align="center"><b><font size="5"></font></b></p> <p align="center"> <textarea name="textfield" cols="50" rows="10" wrap="physical"> *^o^* Hello Welcome to JSP world \/ ; - = =/ ~ \ _/_,, _, _) / / ~ ---,---, , \ '-' ~ \ '- = =\/ </textarea> </p> </form> Textarea

55 42 Cols Name Rows Wrap default off virtual physical Rows Cols HTML <select> </select> <select> <option> <select name=class width="26"> <option value="0" selected></option> <option value="1"> </option> <option value="2"> </option> <option value="3"> </option> <option value="4"> </option> <option value="5"> </option> </select> Select Name Size Size Size

56 43 Multiple Multiple Ctrl Shift Selected Selected <option> <option> <option> <select> Selected Value HTML Frontpage Dreamwearer Form Dreamweaver Dreamweaver Form Text Field Button Checkbox Radio Button List/Menu Image Field Hidden Field Text Field input Text Password Textarea Button input submit reset Checkbox input Checkbox Radio Button input Radio List/Menu select Image Field input image Hidden Field input hidden Insert Form Submit Dreamweaver Form Dreamweaver Form

57 Servlet HTML HTML ACTION URL ENCTYPE Enter HTML Get POST Servlet doget( ) dopost( ) METHOD=Get Get URL snoop.jsp JSP URL QueryString& METHOD=Post METHOD Get Post Get Get URL URL HTTP Post HTML METHOD=Post Servlet Get URL Query String 3 Query String (1)?key1=value1&key2=value2 (2) HTML URL Link HTML URL Link <a href=" URL Link GET </a> HTML Dreamweaver Link 3-8

58 Dreamweaver (3) Form form.html URL Link Form form.html <html> <head> <title>untitled Document</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <form name="form" method="get" action=" <p> <input type="text" name="nickname" value="damboo"> </p> <p> <input type="submit" name="submit" value=" "> <input type="reset" name="submit2" value=" "> </p> </form> <a href=" URL Link GET </a> </body> </html> form.html form.html URL

59 46 Servlet Java API API API ServletRequest public java.lang.object getattribute(java.lang.string name) public java.util.enumeration getattributenames( ) public java.lang.string getcharacterencoding( ) public int getcontentlength( ) public java.lang.string getcontenttype( ) public ServletInputStream getinputstream( )throws java.io.ioexception public java.lang.string getparameter(java.lang.string name) public java.lang.string[] getparametervalues(java.lang.string name) public java.lang.string getprotocol( ) public java.lang.string getscheme( ) public java.lang.string getservername( ) public int getserverport( ) public java.io.bufferedreader getreader( )throws java.io.ioexception public java.lang.string getremoteaddr( ) public java.lang.string getremotehost( ) public void setattribute(java.lang.string key,java.lang.object o) public java.lang.string getrealpath(java.lang.string path) HttpServletRequest public java.lang.string getauthtype( ) public long getdateheader(java.lang.string name) public java.lang.string getheader(java.lang.string name) public java.util.enumeration getheadernames( ) public int getintheader(java.lang.string name) public java.lang.string getmethod( ) public java.lang.string getpathinfo( ) public java.lang.string getpathtranslated( ) public java.lang.string getremoteuser( ) public java.lang.string getservletpath( ) ServletResponse public java.lang.string getcharacterencoding( ) public ServletOutputStream getoutputstream( )throws java.io.ioexception public java.io.printwriter getwriter( )throws java.io.ioexception public void setcontentlength(int len) HttpServletResponse public void setcontenttype(java.lang.string type)

60 47 public boolean containsheader(java.lang.string name) public void senderror(int sc,java.lang.string msg)throws java.io.ioexception public void senderror(int sc)throws java.io.ioexception public void sendredirect(java.lang.string location)throws java.io.ioexception public void setdateheader(java.lang.string name,long date) public void setheader(java.lang.string name,java.lang.string value) public void setintheader(java.lang.string name,int value) public void setstatus(int sc) public void setstatus(int sc,java.lang.string sm) HTML Servlet HTML formgetexample.html formgetexample Servlet formgetexample.html <html> <head> <title>untitled Document</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <form name="form" method="get" action=" <table width="400" border="1" height="100" cellspacing="1"> <tr> <td width="110" height="10"></td> <td width="274" height="10"> <input type="text" name="nickname"> </td> </tr> <tr> <td width="110" height="8"></td> <td width="274" height="4"> <input type="password" name="password" value=""> </td> </tr> <tr> <td width="110" height="8"> </td> <td width="274" height="4"> <input type="password" name="password2"> </td>

61 48 </tr> <tr> <td height="21" width="110"></td> <td height="21" width="274"> <input type="radio" name="gender" value="1"> <input type="radio" name="gender" value="2"> <input type="radio" name="gender" value="0" checked> </td> </tr> <tr> <td width="110"></td> <td width="274"> <input type="checkbox" name="fond" value="1"> <input type="checkbox" name="fond" value="2"> <input type="checkbox" name="fond" value="3"> <input type="checkbox" name="fond" value="4"> </td> </tr> <tr> <td width="110" height="8"></td> <td width="274" height="8"> <select name="area"> <option value="1" selected> </option> <option value="2"> </option> <option value="3"> </option> <option value="4"> </option> <option value="5"> </option> </select> </td> </tr> <tr> <td width="110" height="8"> </td> <td width="274" height="8"> <input type="hidden" name="hidden" value="hidden example"> </td> </tr> </table>

62 49 <p> <input type="submit" name="submit" value=" "> <input type="reset" name="reset" value=" "> </p> </form> </body> </html> formgetexample.html formgetexample.html formgetexample.java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class formgetexample extends HttpServlet public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException response.setcontenttype("text/html"); PrintWriter out = response.getwriter( ); out.println("<html>"); out.println("<body bgcolor=\"white\">"); out.println("<head>"); out.println("<title>servlet Get Example</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>servlet Get Example</h1>"); Enumeration enum = request.getparameternames( ); while (enum.hasmoreelements( )) String key = (String) enum.nextelement( );

63 50 String value = request.getparameter(key); out.println("<p>"); out.println( key + " = " + value ); out.println("</p>"); out.println("</body>"); out.println("</html>"); out.close( ); javac formgetexample.java formgetexample.class formgetexample.class [x:]\webpages\web-inf\servlets\ formgetexample.html formgetexample Servlet formgetexample Servlet Get doget( ) public void doget(httpservletrequest request,httpservletresponse response) throws IOException, ServletException text html out response.setcontenttype("text/html"); PrintWriter out = response.getwriter( ); key HttpServletResponse getparameter public java.lang.string getparameter(java.lang.string name) name nickname getparameter nickname

64 51 name HttpServletResponse getparametername public java.util.enumeration getparameternames( ) Enumeration formgetexample enum Enumeration enum = request.getparameternames( ); while (enum.hasmoreelements( )) String key = (String) enum.nextelement( ); String value request.getparameter(key); out.println("<p>"); out.println( key + " = " + value ); out.println("</p>"); Key-Value Servlet Form formgetexample.java String value request.getparameter(key); RadioCheckbox Form formgetexample <input type="radio" name="gender" value="1"> <input type="radio" name="gender" value="2"> <input type="radio" name="gender" value="0" checked> value Servlet String gender = request.getparameter("gender"); String value=""; if(gender.equals("1")) value=" "; else if(gender.equals("2")) value=" "; else value=" "; HTML Value JSWDK

65 52 formgetexample <input type="checkbox" name="fond" value="1"> <input type="checkbox" name="fond" value="2"> <input type="checkbox" name="fond" value="3"> <input type="checkbox" name="fond" value="4"> request.getparameter( ) fond=1 getparametervalues public java.lang.string[ ] getparametervalues(java.lang.string name) HTML Form Key Servlet String[] fonds = request.getparametervalues ("fond"); String value=""; for(int i = 0; i < fonds.length; i++) if(fonds[i].equals("1")) value=value+""; else if(fonds[i].equals("2")) value=value+""; else if(fonds[i].equals("3")) value=value+""; else if(fonds[i].equals("4")) value= value+" "; HTML value=" " formgetexample.java formgetexample.java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class formgetexample extends HttpServlet public void doget(httpservletrequest request, HttpServletResponse response)

66 53 throws IOException, ServletException response.setcontenttype("text/html"); PrintWriter out = response.getwriter( ); out.println("<html>"); out.println("<body bgcolor=\"white\">"); out.println("<head>"); out.println("<title>servlet Get Example</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>servlet Get Example</h1>"); String gender = request.getparameter("gender"); String value=""; if(gender.equals("1")) value=" "; else if(gender.equals("2")) value=" "; else value=" "; out.println( " = " + value ); out.println("<br>"); String[] fonds = request.getparametervalues ("fond"); value=""; for(int i = 0; i < fonds.length; i++) if(fonds[i].equals("1")) value=value+""; else if(fonds[i].equals("2")) value=value+""; else if(fonds[i].equals("3")) value=value+""; else if(fonds[i].equals("4")) value= value+" "; out.println( " = " + value ); out.println("<br>"); String area = request.getparameter("area"); value=""; if(area.equals("1")) value=" "; else if(area.equals("2")) value=" "; else if(area.equals("3")) value=" ";

67 54 else if(area.equals("4")) value=" "; else value=" "; out.println( " = " + value ); out.println("<br>"); out.println("</body>"); out.println("</html>"); out.close( ); formgetexample.java tojsp.class [x:\]jswdk-1.0.1\webpages\web-inf\servlet\ formgetexample Servlet Servlet Servlet CGI cgigetexample.java import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class cgigetexample extends HttpServlet public void doget(httpservletrequest req,httpservletresponse res) throws ServletException, IOException //

68 55 res.setcontenttype("text/html"); // writer PrintWriter out = res.getwriter( ); out.println("<html>"); out.println("<head>"); out.println("<title>cgi GET EXAMPLE</TITLE>"); out.println("</head>"); out.println("<body>"); out.println("<h1> CGI GET EXAMPLE</h1>"); Enumeration enam = req.getheadernames( ); while (enam.hasmoreelements()) String name = (String) enam.nextelement( ); String value = req.getheader(name); if((value!= null)&& (!value.equals(""))) out.println("<b>"+name+"</b>"); out.println(":"); out.println(value); out.println("<br>"); out.println("</body>"); out.println("<html>"); out.close( ); javac cgigetexample.java class Servlet Servlet cgigetexample Servlet 3.4 Servlet Servlet HTML

69 56 HTML Servlet HTML Servlet Servlet HTML Frontpage Dreamweaver Servlet HTML <div align="center"><a href="red.jsp" target="_blank"><font color="#ff0000"><i><b><font size="6">red</font></b></i></font></a> red red.jsp HTML Dreamweaver Servlet out.println("<div align=\"center\"><a href=\"red.jsp\" target=\"_blank\"><font color=\"#ff0000\"><i><b><font size=\"6\">red</font></b></i></font></a>"); HTML Servlet Servlet Servlet Servlet HTML Servler <html> <body> <pre> <SERVLET CODE="yourservlet"> <PARAM NAME=yourname VALUE="yourvalue"> </SERVLET> </pre> </body> </html> <SERVLET CODE="yourservlet"> Code Servlet HTML HTML GET URL <PARAM NAME=yourname VALUE="yourvalue"> Servlet Servlet Servlet Web Server

70 JSP Servlet JSP <jsp:forward page="yourservlet" /> HTML JSP <jsp:forward> JSP Servlet Request <jsp:forward> Servlet <jsp:param> <jsp:param> <jsp:forward> <jsp:forward>jsp JSP Servlet toservlet.jsp <html> <head> <title>from JSP to Servlet</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <jsp:forward page="/servlet/tojsp"/> </body> </html> toservlet.jsp [x:\]jswdk-1.0.1\webpages\cw\ toservlet.jsp tojsp Servlet <jsp:forward> <jsp:include> Servlet Servlet JSP Servlet JSP getservletconfig( ).getservletcontext( ).getrequestdispatcher("/cw/stj.jsp").forward(reque st, response); toservlet.jsp Servlet [x:\]jswdk-1.0.1\webpages\cw\stj.jsp JSP tojsp.java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class tojsp extends HttpServlet public void doget (HttpServletRequest request,

71 58 HttpServletResponse response) try request.setattribute ("comefrom", "Servlet"); getservletconfig( ).getservletcontext( ).getrequestdispatcher("/cw/stj.jsp").forward(request, response); catch (Exception ex) ex.printstacktrace ( ); javac tojsp.java tojsp.class [x:\]jswdk-1.0.1\webpages\web-inf\servlet\ stj.jsp <html> <body bgcolor="white"> <h1> This page is redir from: <% out.print (request.getattribute("comefrom").tostring( )); %> </h1> </html> stj.jsp [x:\]jswdk-1.0.1\webpages\cw\ tojsp Servlet tojsp Servlet stj.jsp comefrom="servlet" toservlet.jsp

72 4 Java Java Applet Java Java Java Java Java Java 4.1 Java JSP Java Java Java Applet CPU Java Java Java Java Sun Web Java Java 40KB 215KB

73 60 Java Java Method Java Java Java TCP/IP URL Java Java Java Java Java Java Java Java Java Java Java

74 61 Java Java Java Java Java C Java Java CPU Java Java Java Java Applet Java Applet Java Applet Java Applet HTML Internet Applet Applet Java Java Applet Applet Java

75 62 (1) Java (2) (3) (4) Java (5) Internet TCP/IP Internet URL WWW / 4.2 Java JSP Java JSP Java Java VB Java Java Java Java 3 // /* */ /** */ Java doc /** */ JDK javadoc doc HTML Javadoc Java HTML Java Java float x;

76 63 x=23.5*78.9; Java $ 3 0~ Username User name Indentifier _sys var $dollors Java Unicode A ~ Z a ~ z Unicode 0xC0 Java 4-1 Java 4-1 Abstract do Implements private throw boolean double Import protected throws break else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super Volatile class float new switch while continue for null synchronixzed defaultif if package this

77 64 Java true flase null goto const Java thisone this this Java Java C C/C++ Java Java int 32 Java Java 8 true false Java boolean =true false boolean aboolvar = true aboolvar true Java C C++ C C++ 0 false 0 true Java Java true false char Java Unicode 16 0 ~ a a \t \u???? Unicode???? 4 16

78 65 char = char acharvar = a acharvar a String 8 C Java String Java Java String I love Java Java 4 byte short int long byte int long short xBAEF 0x 16 int Integer.MAX_VALUE L l L 110L L 0 8 0xBAEFL 0x 16 Java float double F D E23 5.6F float 321.5E+356D double float double Java

79 66 Java type identifier [=value],[identifer[-=value]...]; (1) type Java (2) indentifier (3) (4) Java Java Block Scope C/C++ Java Nested Java (1) (2) ) char boolean char boolean (type) value

80 67 type int i ; byte b = (byte) i ; int i byte Java char soyou[ ]; Point p[ ]; C C++ Java char [ ]soyou; Point [ ]p; Java new soyou = new char [20] ; p = new Point [100] 20 Point Point p[0] new Point( ) p[1] new Point( )

81 68 soyou \ 0000 Point p null Point p[0] new Point( ) Point Java Sting names[ ] = "Georgianna", "Jen", "Tom", "smith" Sting names[ ] names new String [4] names [0] = "Georgianna", names [1] = "Jen", names [2] = "Tom", names [3] = "smith" Java int twodim[ ][ ] = new int[4][[ ]; twodim[0] = new int[5]; twodim[1] = new int[5]; new 4 int 4 int

82 69 new int[ ][4]; Java twodim[0]= new int [2]; twodim[1]= new int [4]; twodim[2]= new int [5]; twodim[3]= new int [7]; twodim[4]= new int [9]; Java int matrix[ ][ ] = new int [4][5]; 4 matrix 5 int Java 0 length int list [ ] = new int [20]; for (int i =0; i <list.length ; i ++) // list.length 20 list.length int elms[ ] = new int [6]; elms = new int [10]; Java System

83 70 arraycopy( ) int elms[ ] = new int 1,2,3,4,5 // int hold[ ] = new int 10,9,8,7,6,5,4,3,2,1 // System.arraycopy elms 0 hold 0 elms.length // elms hold hold 1,2,3,4,5,5,4,3,2, Java 4 Java C/C++ boolean char char Java int % C/C++ Java Java Java long int shor char byte C/C++ Java = = = boolean true false if

84 71 Java if-then-else Java C/C++ expresion1? exprsion2 : expresion3 expresion1 boolean expresion1 true expresion2 expresion3 expresion2 expresion3 void Java 3 Java if else switch (1) if else if Java C/C++ if (condition) statement1 ; else statement2 ; statement block condition boolean else int connt count gencount( ) //gencount( ) if count<0 System.out.println("Error: count value is negative ") else System.out.println("There will be "+conut+"people for supper tomorow")

85 72 Java C/C++ if C/C++ Java if ( x ) // x int if ( x!=0 ) ; if if condition statement1 statement2 if boolean if if else if if if else if if if if-else-if if (condition) statement1; else if(condition) statement2; else if(condition) statement3; else statement4; if if else else (2) switch switch Java switch if-else-if switch switch (expression) case value1:

86 73 staments1 // break case value2: staments2 // case valuen: staments3 // break; default: staments4 // expression case value expreseion case case switch expression case case default default default break break switch switch default break break case switch switch switch if switch if switch case switch case switch case switch if Java switch if if else switch colorcount swich colorcount case 0 setbackground Color.red break case 1 setbackground Color.green break case 2 setbackground Color.black break

87 74 Java 3 while do-while for (1) while while Java while(condition) statement or block // condition condition stament or block int i while (i < 10) System.out.println("Are you completed yet ") i ++ System.out.println("finally!") (2) do-while while while Java do-while do-while do statement or block // while(condition); do-while Java condition int i do System.out.println("Are you completed yet ")

88 75 i ++ while(i < 10) System.out.println("finally!") (3) for for for(initialization_expresion;condition;alter_expresion) statement or block // statement or block for initialization_expresion initialization_expresion condition alter_expresion for for for for for for for for for 3 for Java Java for for( int i i < 10 i ++) System.out.println("Are you completed yet ") System.out.println("finally!") Java 3 break continue return Java throw throws finally

89 76 (1) break Java break switch break break Java break 3 break break switch break switch break break break label break [label] label label lable (2) continue continue while do-while continue for continue label continue [label] label (3) return return Java Java Java Java Java

90 77 class class classname type instance-variable1; type instance-variable2; type instance-variablen; type methodname1( parameter-list) method block1 // type methodname2(parameter-list) method block2 // type methodnamen(parameter-list) method blockn // public abstract final private protected public friendly Java C++*. Cpp Java

91 78 type variablename int x y Java class Point int x y int x( ) return x x( ) x static final transient volatile (1) final class finalvar final int CONSTANT=50 CONSTANT 50 final Java (2) transient class TransientVar transient TransientV transient Java Java (3) volatile class VolatileVar volatile int VolatileV

92 79 volatile Java Radiu1Radiu2 length class Tube double Radiu1 double Radiu2 double length Tube Tube Tube Tube onetube = new Tube( ) onetube Tube Tube Radiu1 Radiu2 length. 1m onetube.length = 1 1m 5cm 5.5cm class Tube double Radiu1 double Radiu2 double length class volume extends java.applet.applet public void paint(graphics f) Tube onetube = new Tube( ) //

93 80 double Tubevolume onetube.radiu1 = 5 onetube.radiu2 = 5.5 onetube.length = 100 // onetube Tubevolume=3.14*(oneTube.Radiu2*oneTube.Radiu2-oneTube.Radiu1*oneTube.Radiu1)* onetube.length // f.drawstring(" "+ Tubevolume, 25, 50) Java type name(parameter-list) method body // // (1) type name Parameter-list

94 81 type name( ) method body type void void return value value class Point int x y Point( ) x=40 y=50 void getxyvalue(int xvalue yvalue) xvalue=x yvalue=y Java (2) Java class Variable int x 0 y 0 z 0 // void init int x int y this.x x this.y y int z 100 // System.out.println "******* int init ********" System.out.println "x " x "y " y "z " z

95 82 public class VariableTest public static void main String args[ ] Variable var new Variable System.out.println "******* before init ********" System.out.println "x " var.x "y " var.y "z " var.z Var System.out.println "******* after init ********" System.out.println "x " var.x "y " var.y "z " var.z c \> java variabletest ******* before init ******* x=0 y=0 z=0 ******* before init ******* x=200 y=300 z=100 ******* before init ******* x=200 y=300 z=0 z z VariableTest.java this init( ) x y x y this this this this class Tube double Radiu1; double Radiu2; double length; double Tubevolume( ) // return 3.14*(oneTube.Radiu2*oneTube.Radiu2-oneTube.Radiu1* onetube.radiu1)* onetube.length; class volume extends java.applet.applet //

96 83 public void paint(graphics f) Tube onetube = new Tube( ); Double Tubevolume; onetube.setdimension(5,5.5,100); // onetube twotube.setdimension(10,11,100); // twotube Tubevolume = onetube.tubevolume( ); // f.drawstring(" "+ Tubevolume, 25, 50); Tubevolume = twotube.tubevolume( ); // f.drawstring(" "+ Tubevolume, 25, 50); onetube.setdimension(5,5.5,100); onetube.radiu1 = 5; onetube.radiu2 = 5.5; onetube.length = 100; (1) (2) Java setdimension Java Constructor void

97 84 class point int x,y; point ( ) x=0; y=0; point ( ) this.x=x; this.y=y; Point point x y init( ) x y new new Java new Java Overload Java Java class MathmaticOverload void recieve(int i) System.out.println("Recieve one int data"); System.out.println("i="+i); void recieve(int x,int y)

98 85 System.out.println("Recieve two int data"); System.out.println("x="+x+"y="+y); void recieve(double d) System.out.println("Recieve one double data"); System.out.println("d="+d); void recieve(string s) System.out.println("Recieve a string"); System.out.println("s="+s); public class MathmaticOverloadTest public static voic main(string args[ ] ) MathmaticOverload mine=new MathmaticOverload( ); mine.recieve(100); mine.recieve(200,300); mine.recieve(99.88); mine.recieve("hello java!"); C:\> java MathmaticOverloadTest Recieve one int data i =100 Recieve two int data x =200 y =300 Recieve one double data d =99.88 Recieve a string s = Hello java! Java Java Java

99 86 C abs( ) labs( ) fabs( ) C 3 Java math abs( ) 1 class Box double length; double width; double height; // Box(double w, double h, double d) Length = l; width = w; height = h; // Box(double hx) width = height = depth = hx; Box( ) width = 2; height = 3; depth = 4; double volume( ) renturn width*height*depth; class OverLoadCon extends java.applet.* pubic void printvolume( ) PrintWriter out=new PrintWriter;

100 87 Box onebox = new Box(5,5.5,100); Box twobox = new Box(5); Box ThreeBox = new Box( ); double volume; // Volume = onebox.volume( ); out.println( The Volume of the First Box is: + volume +. ); // Volume = twobox.volume( ); out.println( The Volume of the Second Box is: + volume +. ); // Volume = Tube.volume( ); out.println( The Volume of the Third Box is: + volume +. ); The Volume of the First Box is: The Volume of the Second Box is: 125. The Volume of the Third Box is: (1) 3 type objectname = new type ( [ paramlist ] ); type objectname type type new new new

101 88 Point Point mypoint1 = new Point ( ) ; Point mypoint2 = new Point ( 100,200) ; Point mypoint1 mypoint2 mypoint1 mypoint2 new C C++ (2). class Point int x,y; String StringName="a point"; Point ( ) x=0; y=0; Point ( int x,int y,string StringNane) this.x=x; this.y=y; this.stringname=stringname; int getx( ) return x; int gety( ) return y; void move(int newx,int newy) x=newx; y=newy; Point newpoint (String StringName)

102 89 Point newp=new Point(-x,-y,StringName); Return newp; boolean equal(int x,int y) if(this.x= =x&&this.y= =y) return true; else rerurn false; void print( ) System.out.println(name+": x="+x+"y ="+y); public class UsingObject public static void main ( String args [ ] ) Point mypoint = new Point( ); mypoint.print( );// mypoint.move(100,100); System.out.println("******* after moving *******"); System.out.println("Get x and y directly"); System.out.println("x="+mypoint.x+"y ="+mypoint.y); // System.out.println("or Get x and y by calling method"); System.out.println("x="+mypoint.getX( )+"y ="+mypoint.gety( )); if(mypoint.equal(100,100)) System.out.println("I like this point!!!!!"); else System.out.println("I hate this point!!!!!"); mypoint.newpoint("a new point").print( ); new.point(100,150,"another new point").print( ); C:\> java UsingObject a point : x=0 y=0 ******* after moving ******* Get x and y directly x=100 y=100 or Get x and y by calling method x=100 y=100 I like this point!!!!! a new point : x=-100 y=-100 a another point : x=100 y=150

103 90 objectreference.varianle objectreference Point mypoint = new Point( ); Point mypoint mypoint.x mypoint.y x y mypoint.x 100 mypoint.y 200 new tx = new point ( ).x objectreference.methodname( [ paramlist ] ); Point mypoint mypoint.move(300,200); mypoint.x mypoint.y p new new point ( ).move(200,300); Point Equal if (mypoint.equal(200,300)) // staments when equal else // staments when equal Point newpoint Point

104 91 px mypoint.newpoint( ).x; px mypoint.newpoint( ).getx( ); (3) Java null p nulljava C free C++ delete Java Java Java public private protected friendly Java public public private Protected Private Protected Public Friendly (1) Private private private privatevar;

105 92 private privatemethod ( [ paramlist ] ) private private private private (2) Protected protected protected protectedvar; protected protectedmethod ( [ paramlist ] ) protected (3) Public public public publicvar; public publicmethod ( [ paramlist ] ) (4) Friendly friendly friendly package mypackage1; public class Original int myfriendly=100; private int myprivate =200; protected int myprotected =300; public int mypublic =400; void Acess ( ) System.out.println("******* In same class,you can acess "); System.out.println("friendly member"+myfriendly);

106 93 System.out.println("private member" + myprivate); System.out.println("protected member" + myprotected); System.out.println("public member" + mypublic); class Derived extends Original void Acess ( ) System.out.println("******* In subclass of same package,you can acess member of this class "); System.out.println("friendly member"+myfriendly); // System.out.println("private member" + myprivate); System.out.println("protected member" + myprotected); System.out.println("public member" + mypublic); Original ao=new Original (); System.out.println("******* In subclass of same package,you can acess member of superclass object "); System.out.println("friendly member"+ao.myfriendly); // System.out.println("private member" + ao.myprivate); System.out.println("protected member" + ao.myprotected); System.out.println("public member" + ao.mypublic); class SamePackage void Acess ( ) Original ao=new Original ( ); System.out.println("******* In the same package,you can acess "); System.out.println("friendly member"+ao.myfriendly); // System.out.println("private member" + ao.myprivate); System.out.println("protected member" + ao.myprotected); System.out.println("public member" + ao.mypublic); class AcessControl public static void main ( String args [ ] ) Original ao=new Original ( ) ; ao.acess ( ) ; Derived ad=new Derived ( ) ; ad.acess ( ) ; SamePackage as=new SamePackage ( ) ; as.acess ( ) ;

107 94 C:\> java mypackage1.acesscontrol ******* In same class,you can acess friendly member 100 private member 200 protected member 300 public member 400 ******* In subclass of same package,you can acess member of this class friendly member 100 protected member 300 public member 400 ******* In subclass of same package,you can acess member of superclass object friendly member 100 protected member 300 public member 400 ******* In the same package,you can acess friendly member 100 protected member 300 public member 400 "); package mypackage2; class Derived extends mypackage1.original void Acess ( ) System.out.println("******* In subclass of another package,you can acess member of this class //System.out.println("friendly member"+myfriendly); // System.out.println("private member" + myprivate); System.out.println("protected member" + myprotected); System.out.println("public member" + mypublic); mypackage1.original ao=new mypackage1.original ( ); System.out.println("******* In subclass of another package,you can acess member of superclass object "); //System.out.println("friendly member"+ao.myfriendly); // System.out.println("private member" + ao.myprivate); //System.out.println("protected member" + ao.myprotected); System.out.println("public member" + ao.mypublic); class AnotherPackage void Acess ( ) mypackage1.original ao=new mypackage1.original ( ); System.out.println("******* In another package,you can acess "); //System.out.println("friendly member"+ao.myfriendly);

108 95 // System.out.println("private member" + ao.myprivate); //System.out.println("protected member" + ao.myprotected); System.out.println("public member" + ao.mypublic); class AcessControl public static void main ( String args [ ] ) Derived ad=new Derived ( ) ; ad.acess ( ) ; AnotherPackage aa=new AnotherPackage ( ) ; aa.acess ( ) ; C:\> java mypackage2.acesscontrol ******* In subclass of another package,you can acess member of this class protected member 300 public member 400 ******* In subclass of another package,you can acess member of superclass object public member 400 ******* In the another package,you can acess public member 400 // Java Java static static static static static static static static (1) static (2) static

109 96 (3) this super static classname.member; classname static Member static Java (1) (2) (3) Java Java OOP Java java.lang.object Subclass (Superclass) Java extends Aclass B extends A B A A B A class subclass_name extends superclass_name class body// Java C/C++

110 97 extends java.lang.object private private OOP Java Java supper Supper supper(parameter-list); parameter-list Supper( ) Box Box 4 length width height weight class Box double length; double width; double height; // Box(double l, double w, double h) length = l; width = w; height = h; // Box(double hx) length=width = height = hx; Box( ) length = 4; width = 2; height = 3;

111 98 double volume( ) renturn width*height*depth; // BoxWeight Box class BoxWeight extends Box double weight; // BoxWeight(double l, double w, double h, double m) length = l; width = w; height = h; weight = m; class Inheritance extends java.applet.applet public void paint(graphics f) BoxWeight firstbox = new BoxWeight(2,3,4,36.7); BoxWeight secondbox = new BoxWeight(3,4,5,6.06); double volume; // volume = firstbox.volume( ); f.drawstring(the Volume of the First Box is "+ volume + " ", 25, 50); // f.drawstring("the Weigh of the First Box "+firstbox.wight + " ", 25, 75); // volume = secondbox.volume( ); f.drawstring(the Volume of the Second Box is "+ volume + " ", 25, 100); // f.drawstring("the Weigh of the Second Box is "+secondbox.wight + " ", 25,125);

112 99 Java Dynamic Method Dispatch Java OOP (1) (2) Java abstract abstract class abstractclassname(parameter-list) abstract abstract abstract

113 100 new new abstractclassname ( ) ; // abstract class can t be instaniated Java Final 3 (1) (2) (3) final final final final final Java final class A final void method( ) System.out.println(" method final"); class B extends A void method( ) // B method System.out.println(" "); final Inline Java string final final final

114 101 abstract final Java Package Java package Package package package packagename; packagename Java packagename.class packagename package package package package p1[.p2[.p3]]; Java package java.awt.image; Unix java/awt/image Windows java\awt\image Macintosh java:awt:image CLASSPATH

115 102 private Java Java Java 4 (1) (2) (3) (4) 3 private public protected Java public private protected public Java API. Java import import Java import package

116 103 import import package1[.package2].(classname * ); package1 package2. classname * Java import java.util.date; import java.io. *; Java Java Java java.lang java.lang Java java.lang import java.lang. * ; import java.util. * ; class MyDate extends Date class MyDate extends java.util.date public Java 3 (1) (2) (3)

117 104 Java C++ Java access interface name return-type method-name1(parameter-list); return-type method-name2(parameter-list); type final-varname1 = value; type final-varname2 = value; // return-type method-name (parameter-list); type final-varnamen = value; access public public name able ible access interface name [ extends listofsuperinterface ] // entends entends

118 105 final static type final-varname1 = value; type final-varname2 = value; type final-varnamen = value; public final static C define C++const type NAME1 value1 type NAME2 value2 type NAMEn valuen public abstract interface Collection int MAX_NUM = 250; void add (Object obj); void delete (Object obj); Object find (Object obj); int currentcount ( ); Collect 4 implements implements access class classname[ extends superclass] [implements interface[,interface ]] // access public public

119 106 Queue collection class Queue implements collement void add (Object obj); void delete (Object obj); Object find (Object obj); int currentcount public final extends Java Exception Error Java Error Java Exception Java Java

120 107 Java Java Java Java Java 5 try catch throw throws finally try try try catch Java throw throws finally try // catch(exception Type1 exob) //Execption Type1 catch(exception Type2 exob) //Execption Type2 Throwable Throwable Throwable Exception Exception RuntimeException 0 ErrorError Java class DividebyZero public static void main(string args[]) int d = 0 int a = 42 / d;

121 108 Java 0 DivideByZero Java Java try try catch Throwable tostring Catch (ArithmeticExceptione ) g.drawstring(""+e) java. Lang.ArithmeticeException catch catch catch catch try/catch Java throw throw ThrowableInstance; ThrowableInstance Throwable int char Throwable String Object Throwable catch new throw try catch try

122 109 catch throws throws Error RuntimeException throw throws type method-name(parameter-list) throws exception-list // exception-list Finally Finally try/catch Finally //3 3 finally class Finally extends java.applet.applet static string proca( ) try System.out.println(" proca "); throw new RuntimeException(" "); finally return "proca finally."; static string procb( ) try System.out.println(" procb "); return"" finally return "procb finally.";

123 110 static string procc( ) try System.out.println(" procc "); return"" finally return "procc finally."; public void paint(graphics f) try f.drawstring(proca( ), 25, 50); catch(exception e) f.drawstring("" + e, 100, 50); f.drawstring(procb( ), 25, 75); f.drawstring(procc( ), 25, 100); proca( ) Try finally procb try return proc finally procc( ) try finally 4.3 Java Java $ i j k

124 111 if-else for // //**//

125 5 JSP JSP JSP Beans jsp:usebean jsp:getproperty jsp:setproperty JSP jsp:forward Include JSP HTML JSP JSP JSP 5.1 HTML HTML JSP HTML HTML JSP HTML HTML HTML JSP JSP <!-- (comment) [<%= (expression)%>] --> <! --> HTML HTML <html> <head>

126 113 <title> HTML </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <h1>jsp </h1> <!-- <%=new java.util.date( )%>--></BODY> </body> </html> <html> <head> <title> HTML </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <h1>jsp </h1> <!-- Wed Sep 13 09:45:04 CST ></BODY> </body> </html> HTML HTML <!-- --></BODY> <!-- --></BODY> 5.2

127 JSP JSP JSP JSP <%-- --%> --%> --%> --%\> <%-- comment --%> <%%> JSP page language="java" %> <html> <head><title> </titel></head> <body> <h2> </h2> <%-- JSP --%> </body> </html> <html> <head><title> </titel></head> <body> <h2> </h2> </body> </html>

128 HTML JSP HTML JSP JSP HTML JSP HTML JSP HTML JSP <%=%> JSP HTML Web Web HTML JSP HTML JSP JSP <html> <head> <TITLE> JSP </TITLE> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <H1>JSP JSP </H1> <% String Msg="Welcome"; out.print("good!!"); %>. <br><%=msg%> </body> </html> <HTML> 5-1

129 JSP 5.4 JSP JSP JSP JSP ; Java (1) ; Scriptlet (2) page %> (3) JSP JSP <%! 1 declaration1 ; [ 2 declaration2 ; ]+... %> <%! %>

130 JSP JSP <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> <H1> </H1> <%! int i=23; %> <%! int a,b,c; %> <%! String M1="int i=23;";%> <%! String M2="int a,b,c;";%> <br><%=m1%> <br><%=m2%> </BODY> </HTML> JSP HTML JSP

131 JSP ASP ). JSP (1) Scriptlet (2) Java Language Specification (3) JSP JSP JSP <%= expression %> <% %> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <H1></H1> <%! int a=23; %> <%! int b=37; %> <%! int c=12; %> <br>a+b=<%=a+b%> <br>b+c=<%=b+c%> <br>a+b+c=<%=a+b+c%> </BODY> </HTML>

132 Include Include JSP Include Include JSP JSP Include JSP Include JSP JSP HTML JSP JSP Include JSP Include JSP html jsp Java <html> </html> <body> </body> JSP Include / JSP JSP Include JSP Include <%@ include file="relativeurl" %> <%@ %> Include Include inmy.jsp <html> <head><title> </title></head> <body bgcolor="white">

133 120 <font color="blue"> include file="my.jsp" %> </font> </body> </html> my.jsp page import="java.util.*" %> <%= (new java.util.date( ) ).tolocalestring( ) %> Page Page Page Page Page JSP Page JSP Page <jsp:include> Page Import import Java Import Java Page JSP JSP JSP JSP

134 Page Page 10 (1) Language language="java" java (2) Extends extends="package.class" JSP Java Class JSP (3) Import import="package.class package.*,..." Import Java JSP JSP java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.* (4) Session session="true false" HTTP Session ASP true session false session scope=session <jsp:usebean> true (5) Buffer buffer="none 8kb sizekb" buffer out JSP 8Kb (6) AutoFlush autoflush="true false" Buffer true false buffer buffer None AutoFlush false

135 122 (7) isthreadsafe isthreadsafe="true false" JSP truejsp false JSP (8) info info="text" JSP JSP Servlet.getServletInfo (9) errorpage errorpage="relativeurl" JSP (10) iserrorpage iserrorpage="true false" true Exception (11) ContentType contenttype="mimetype[;charset=characterset]""text/html;charset=iso " MIME MIME text/html ISO Page JSP Page page %> [ language="java" ] [ extends="package.class" ] [ import="package.class package.*,..." ] [ session="true false" ] [ buffer="none 8kb sizekb" ] [ autoflush="true false" ] [ isthreadsafe="true false" ] [ info="text" ] [ errorpage="relativeurl" ] [contenttype="mimetype [;charset=characterset ]" "text/html ; charset=iso " ] [ iserrorpage="true false" ] <%@ %> Page 10

136 Page page import="java.util.*, java.lang.*" %> page buffer="5kb" autoflush="false" %> page errorpage="error.jsp" %> 5.8 <jsp:usebean> JavaBeans JSP JSP JavaBeans JavaBeans <jsp:usebean> <jsp:usebean> JavaBeans JavaBeans <jsp:usebean> Beans Beans <jsp:usebean> class Beans <jsp:usebean> (1) Beans (2) Beans (3) Beans Bean (4) Beans class class Beans java.beans.beans.instantiate (5) <jsp:usebean> ( ) Beans<jsp:useBean> </jsp:usebean> <jsp:usebean> <jsp:setproperty> Beans <jsp:usebean> <jsp:usebean> Beans Beans <jsp:usebean> <jsp:usebean> <jsp:usebean> 5

137 124 (1) id id="beaninstancename" Beans Beans Java Programming Language Java Language Beans <jsp:usebean> id id (2) scope scope="page request session application" Beans id page Page <jsp:usebean> JSP Beans Request JSP Beans Request Beans request.getattribute(beaninstancename) Session Beans session JSP Bean Beans session session JSP Beans Beans JSP page %> session=true Application Beans Application JSP Beans Beans Application application JSP Beans (3) class class="package.class" new class class Bean class package (4) type type="package.class" Bean Bean class beanname type Beans package class (5) beanname beanname="package.class <%= expression %>" type="package.class" java.beans.beans.instantiate class Bean Beans beanname package class Beans.instantiate.type Beans package class

138 <jsp:usebean> JSP <jsp:usebean> <jsp:usebean id="beaninstancename" scope="page request session application" class="package.class" type="package.class" class="package.class" type="package.class" beanname="package.class <%= expression %>" type="package.class" /> > other elements </jsp:usebean> jsp:usebean <jsp:usebean> <jsp:usebean> JavaBeans <jsp:usebean id="cart" scope="session" class="session.carts" /> <jsp:setproperty name="cart" property="*" /> <jsp:usebean id="checking" scope="session" class="bank.checking" > <jsp:setproperty name="checking" property="balance" value="0.0" /> </jsp:usebean> 5.9 Scriptlet Scripltlet JSP Scriptlet Scriptlet JSP Scriptlet

139 126 (1) (2) JSP (3) <jsp:usebean> scriptlet (1) JSP Java Java (2) HTML JSP Scriptlet (3) JSP Scriptlet Scriptlet out Scriptlet Scriptlet <% (code fragment) %> Scriptlet Scriptlet <% String name = null; if (request.getparameter("name") = = null) %> <%@ include file="error.html" %> <% else foo.setname(request.getparameter("name")); if (foo.getname( ).equalsignorecase("integra")) name = "acura"; if (name.equalsignorecase( "acura" )) %> name name name if error.html name else 5.10 Taglib Taglib JSP Taglib

140 Taglib Taglib Taglib JSP JSP XML JSP JSP JSP XML jsp:plugin <jsp:plugin> </jsp:plugin> <jsp:params> <jsp:fallback> Taglib Taglib Taglib taglib uri="uritotaglibrary" prefix="tagprefix" %> taglib Taglib Taglib URI Prefix (1) URI uri="uritotaglibrary" Uniform Resource Identifier(URI) URI Uniform Resource Locator URL RFC Uniform Resource Name (URN) RFC 2396 (2) Prefix prefix="tagprefix" <public:loop> public public jsp jspx java javax servlet sun sunw

141 Taglib Taglib taglib uri=" prefix="public" %> <public:loop> </public:loop> 5.11 <jsp:plugin> <jsp:plugin> Applet Beans JSP <jsp:plugin> <jsp:plugin> Applet Bean Java <jsp:plugin> Applet Bean) Java JSP <jsp:plugin> <object> <embed><object> HTML 5.0 <embed> HTML 3.2 <jsp:plugin> Applet Bean class Java <jsp:plugin> <jsp:plugin> <jsp:plugin type="bean applet" code="classfilename" codebase="classfiledirectoryname" [ name="instancename" ] [ archive="uritoarchive,..."] [ align="bottom top middle left right" ] [ height="displaypixels" ] [ width="displaypixels" ] [ hspace="leftrightpixels" ] [ vspace="topbottompixels" ] [ jreversion="jreversionnumber 1.1" ]

142 129 [ nspluginurl="urltoplugin" ] [ iepluginurl="urltoplugin" ] > [ <jsp:params> [<jsp:paramname="parametername" value="parametervalue <%= expression %>" /> ]+ </jsp:params> ] [ <jsp:fallback> text message for user </jsp:fallback> ] </jsp:plugin> jsp:plugin <jsp:plugin> <jsp:plugin> <jsp:plugin> 13 <jsp:plugin> (1) Type type="bean applet" bean applet (2) Code code="classfilename" Java Java Class.class codebase (3) Codebase codebase="classfiledirectoryname" Java Class ) <jsp:plugin> jsp (4) Name name="instancename" Bean Applet JSP (5) Archive archive="uritoarchive,..." class Applet (6) Align align="bottom top middle left right" Applet bottom

143 130 top middle left right (7) Height height="displaypixels" width="displaypixels" Applet Bean (8) hspace hspace="leftrightpixels" vspace="topbottompixels" Applet Bean (9) jreversion jreversion="jreversionnumber 1.1" Applet Bean Java Runtime Environment JRE 1.1 (10) nspluginurl nspluginurl="urltoplugin" Netscape Navigator JRE URL (11) iepluginurl iepluginurl="urltoplugin" IE JRE URL (12) <jsp:params> <jsp:params> [ <jsp:param name="parametername" value="parametervalue <%= expression %>" /> ]+ </jsp:params> Applet Bean (13) <jsp:fallback> <jsp:fallback> text message for user </jsp:fallback> Java Applet Bean <jsp:plugin> <jsp:plugin type=applet code="molecule.class" codebase="/html">

144 131 <jsp:params> <jsp:paramname="molecule" value="molecules/benzene.mol" /> </jsp:params> <jsp:fallback> <p>unable to load applet</p> </jsp:fallback> </jsp:plugin> 5.12 <jsp:getproperty> <jsp:getproperty> Beans Beans Beans <jsp:getproperty> <jsp:getproperty> Beans JSP <jsp:getproperty><jsp:usebean> <jsp:getproperty> NullPointerException null ) <jsp:getproperty> (1) <jsp:getproperty> (2) JavaBeans <jsp:getproperty> Enterprise Beans <jsp:getproperty> <jsp:getproperty> <jsp:getproperty name="beaninstancename" property="propertyname" /> jsp:getproperty <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> Name Property (1) Name name="beaninstancename"

145 132 bean <jsp:usebean> (2) Property property="propertyname" Beans <jsp:getproperty> <jsp:getproperty> <jsp:usebean id="calendar" scope="page" class="employee.calendar" /> <h2> Calendar of <jsp:getproperty name="calendar" property="username" /> </h2> <jsp:usebean> Beans usebeans Beans <jsp:getproperty> <jsp:usebean> 5.13 <jsp:setproperty> <jsp:setproperty> Beans <jsp:getproperty> <jsp:getproperty> Beans <jsp:setproperty> Beans <jsp:setproperty> <jsp:setproperty> Beans Setter Beans <jsp:usebean> Bean Beans <jsp:usebean> <jsp:setproperty> Beans <jsp:setproperty> name <jsp:usebean> id <jsp:setproperty> (1) request Bean (2) Beans (3) Beans

146 <jsp:setproperty> 133 <jsp:setproperty> <jsp:setproperty name="beaninstancename" property= "*" property="propertyname" [ param="parametername" ] property="propertyname" value="string <%= expression %>" /> jsp:setproperty <jsp:setproperty> <jsp:setproperty> <jsp:setproperty> <jsp:getproperty> name <jsp:usebean> Beans <jsp:usebean> <jsp:setproperty> Beans JSP Beans Beans Request Beans Beans Property (1) boolean or Boolean java.lang.boolean.valueof(string) (2) byte or Byte java.lang.byte.valueof(string) (3) char or Character java.lang.character.valueof(string) (4) double or Double

147 134 java.lang.double.valueof(string) (5) integer or Integer java.lang.integer.valueof(string) (6) float or Float java.lang.float.valueof(string) (7) long or Long java.lang.long.valueof(string) Request Beans Beans Request property="*" Beans Html HTML request Beans property Beans param Request (1) Beans Request property param Property (2) Beans Bean Bean ) <jsp:setproperty> param value <jsp:setproperty> <jsp:setproperty> <jsp:setproperty name="mybean1" property="*" /> <jsp:setproperty name="mybean2" property="username" /> <jsp:setproperty name="mybean3" property="username" value="steve" />

148 135 <jsp:getproperty> <jsp:setproperty> <jsp:usebean> Beans JavaBeans 5.14 <jsp:forward> <jsp:forward> HTML JSP JSP <jsp:forward> <jsp:forward> JSP Request <jsp:forward> Username scott<jsp:param> <jsp:forward> <jsp:forward> jsp <jsp:forward> <jsp:forward> (1) <jsp:forward page="relativeurl" "<%= expression %>" /> jsp:forward <jsp:forward> Page <jsp:forward> (2) <jsp:forward page="relativeurl" "<%= expression %>" > <jsp:param name="parametername" value="parametervalue <%= expression %>" />+ </jsp:forward> jsp:forward <jsp:forward> <jsp:forward> <jsp:forward> (1) Page page="relativeurl <%= expression %>"

149 136 URL JSP request ASP CGI PHP ISAPI (2) <jsp:param> <jsp:param name="parametername" value="parametervalue <%= expression %>" />+ JSP <jsp:param> name value <jsp:forward> <jsp:forward> <jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:forward>

150 6 JavaBeans JavaBeans JavaBeans API JavaBeans JavaBeans JSP <jsp:usebean> <jsp:getproperty> <jsp:setproperty> 6.1 JavaBeans JavaBeans Java Class JavaBeans Package JavaBeans ActiveX JavaBeans JSP JavaBeans Sun JavaBeans API JavaBeans API Java JSP bean Java JSP Scriptlet Java JavaBeans JavaBeans JavaBeans Sun Java Java Java (1) Java (2) Java

151 138 (3) Java Applet Web JavaBeans JavaBeans JavaBeans Sun Java JavaBeans Java Java JavaBeans Java C++ Java JavaBeans Java Applets Applets Java Java Java Applet Java JavaBeans JavaBeans Java Applet Beans Sun JavaBeans Java AWT Java Beans JavaBeans Beans JavaBeans JavaBeans Java Java (1) (2) Java (3) (4) (5) / (6) / (7) 3 / /

152 JavaBeans Java JavsBeans Java JavsBeans Java JavsBeans Java JavsBeans Java Sun Java Java Java JavaBeans Java Java Java Applet Web JavaBeans JavaBeans JavaBeans Java Applet Java AWT Java Applet JavaBeans JavaBeans JavaBeans Java Applet Java JavaBeans Java JavaBeans Java Java JavaBeans APIsJavaBeans JavaBeans 6 (1) (2) (3) (4) (5)

153 140 (6) JavaBeans JavaBeans Java JKD1.1 JavaBeans JDK JavaBeans Beans Beans JavaBeans Beans (1) Beans Beans Beans JavaBeans Beans JavaBeans APIs (2) Beans Beans Beans Beans Beans (3) (4) Java Java JDK1.1 Java JavaBeans (5)

154 141 JavaBeans Beans (6) / a.ser (7) / JavaBeans BeansInfo JavaBeans / (8) JavaBeans Beans Java (1) / Java (2) / Java (3) JavaBeans Java AWT JDK1.1 (4) *.ser *.ser

155 142 (5) JavaBeans JAR Java Archive JAR JAR MANIFEST JAR Beans MANIFEST JAR Beans JavaBeans Beans JAR Beans (6) Beans Beans Sun JavaBeans Beans / / JAR JavaBeans (1) CORBA/IIOP CORBA/IIOP CORBA/IIOP ORBS API IIOP ORB ORBS CORBA/IIOP Sun IBM Oracle OMC (2) CORBA CORBA CORBA /ORBS ORB IDL APIs Java JavaBeans IDL Sun ORD NEODRB IIOP OERBS (3) RMI RMI Java Java CORBA/IIOP Sun Java Beans RMI

156 143 Beans Beans (4) Beans Java Beans JavaBeans Microsoft s ActiveX CILat's Open Doc Netscape's LiveConnect JavaBeans APIs JavaBeans Microsoft's ActiveX CILat's Open Doc Netscape's LiveConnect JavaBeans 6.2 JavaBeans API JavaBeans JavaBeans JavaBeans JavaBeans JavaBeans API JavaBeans Java JavaBeans JavaBeans API JavaBeans API JavaBeans API JavaBeans (1) (2) (3) (4) (5) JavaBeans API JavaBeans JavaBeans API Besns

157 144 Beans Beans JavaBeans Beans JavaScript Java Beans JavaBeans JavaBeans API JavaBeans API JavaBeans API Beans Beans JavaBeans JavaBeans API Beans Beans JavaBeans API Applet Beans Beans JavaBeans API Beans API Beans Beans JavaBeans API Beans API Beans Beans

158 145 Beans Beans API Beans Beans Beans Beans JavaBeans API JavaBeans API Beans Beans Beans Beans Beans Beans Beans JavaBeans Beans Beans Beans Beans Beans JavaBeans API Beans Java AWT AWT JavaBeans API Beans Beans Beans Beans JavaBeans API

159 146 JavaBeans API Beans Beans JavaBeans API JavaBeans API Beans Beans Beans Beans Beans Beans Beans Java Beans Beans Beans JavaBeans API Beans JavaBeans API Beans Beans

160 147 JavaBeans Java Beans JavaBeans API Beans Beans Beans Wizard Windows 6.3 JavaBeans JSP JavaBeans Java JSP Web JavaBeans JSP JavaBeans 3 JavaBeans 3 Web 3 Beans HTML ASP COM JSP JavaBeans COM JavaBeans ASP COM JavaBeans JavaBeans COM COM JavaBeans CLASSPATH JavaBeans JSWDK Tomcat JavaBeans OOP JSP JavaBeans JavaBeans Java JavaBeans JavaBeans CLASSPATH

161 148 JavaBeans JSWDK [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ CLASSPATH CLASSPATH [x:]\jswdk JSWDK webpages\web-inf\jsp\beans\ JavaBeans Package JSP Beans java JSP Scriptlet Java JavaBeans JavaBeans JavaBeans JavaBeans JSP Connect the beans JSP JavaBeans TaxRate Beans Product Rate Set Get Beans JavaBeans JSP Beans JSP JavaBeans Beans Beans // tax package tax; // TaxRate public class TaxRate // Product Rate String Product; double Rate; //TaxRate public TaxRate( ) this.product = "A001"; this.rate = 5; //TaxRate setproduct public void setproduct (String ProductName)

162 149 this.product = ProductName; //TaxRate getproduct public String getproduct( ) return(this.product); //TaxRate setrate public void setrate (double ratevalue) this.rate = ratevalue; //TaxRate getrate public double getrate( ) return (this.rate); Beans Java TaxRate.java DOS \JSWDK\webpages\WEB-INF\jsp\beans\tax JDK javac TaxRate.java javac TaxRate.java Java JavaBeans.calss \JSWDK\webpages\WEB-INF\jsp\beans\tax package tax tax JSWDK webpages\web-inf\jsp\beans\ Web Package JavaBeans \JSWDK\webpages\WEB-INF\jsp\beans\tax Beans JSP <jsp:usebean> JSP Beans JSP Beans Beans JSP Beans Beans

163 150 <jsp:usebean> <jsp:usebean id="name" class="com.testbean" scope="application" /> <jsp:usebean> <jsp:usebean id="taxrate" class="taxrate" scope="application" /> <jsp:usebean> (1) <jsp:usebean> id Beans id Beans Java (2) <jsp:usebean> Scope Scope Beans [scope="page"] [scope="request"] [scope="session"] [scope="application"] JSP JavaBean <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> Beans Beans <jsp:usebean> id JavaBean<jsp:getProperty> <jsp:getproperty id="name" property="name" /> <jsp:getproperty name="taxrate" property="product"/> <jsp:getproperty name="taxrate" property="rate"/> <jsp:getproperty> <jsp:getproperty> <jsp:getproperty> JavaBeans <jsp:setproperty>

164 <jsp:setproperty> <jsp:setproperty> JavaBeans Beans <jsp:setproperty> <jsp:setproperty id="name" property="*" />; <jsp:setproperty id="name" property="serialnumber" value="string" /> <jsp:setproperty id="name" property="serialnumber" value= <%= expression %> />. <jsp:setproperty name="taxrate" property="product" value="hello"/> <jsp:setproperty name="taxrate" property="rate" value="2.9"/> <jsp:setproperty> <jsp:getproperty> Beans setproduct( ) setrate( )getproduct( ) getrate( ) < % TaxRate.setProduct("A002"); TaxRate.setRate(17); %> < %= TaxRate.getProduct( ) %> < %= TaxRate.getRate( ) %> JavaBeans //Bean // tax package tax; // TaxRate public class TaxRate // Product Rate

165 152 String Product; double Rate; //TaxRate public TaxRate( ) this.product = "A001"; this.rate = 5; //TaxRate setproduct public void setproduct (String ProductName) this.product = ProductName; //TaxRate getproduct public String getproduct( ) return(this.product); //TaxRate setrate public void setrate (double ratevalue) this.rate = ratevalue; //TaxRate getrate public double getrate( ) return (this.rate); //Bean //JSP JavaBeans sample_bean.jsp sample_bean.jsp // Java tax <%@ page language="java" import="tax.*" %> <HTML> <BODY> // Beans

166 153 <jsp:usebean id="taxrate" scope="application" class="taxrate" /> // Beans Beans // Beans setproduct( ) setrate( ) Beans < % TaxRate.setProduct("A002"); TaxRate.setRate(17); %> // Beans getproduct( ) getrate( ) Beans : < %= TaxRate.getProduct( ) %> < br> : < %= TaxRate.getRate( ) %> // Beans setproduct( ) setrate( ) Beans < % TaxRate.setProduct("A003"); TaxRate.setRate(25); %> // Jsp Beans <br> // Beans : <jsp:getproperty name="taxrate" property="product" /> <br> : <jsp:getproperty name="taxrate" property="rate" /> // Beans <jsp:setproperty name="taxrate" property="product" value="hello" /> <jsp:setproperty name="taxrate" property="rate" value="2.9" /> <br> // Beans : <jsp:getproperty name="taxrate" property="product" /> <br> : <jsp:getproperty name="taxrate" property="rate" /> </BODY> </HTML> Bean TaxRate.java Java TaxRate.java webpages\web-inf\jsp\beans\tax sample_bean.jsp JSWDK webpages JavaBeans API JSP Java HTML JSP

167 7 JSP JSP JSP HTML JSP JavaBeans JSP Java Script 7.1 cgi asp pnp Java Script JSP count.txt JSP JSP BufferedReader BufferedReader fileobject; // BufferedReader fileobject String yourpath = "yourpath/yourfile"; // yourpath fileobject = new BufferedReader(new FileReader(yourpath)); // BufferedReader fileobject String readstr =null; // readstr readstr = fileobject.readline( ); // BufferedReader readline fileobject.close( ); // BufferedReader JSP PrintWriter PrintWriter

168 155 Text PrintWriter pntobject; // PrintWriter pntobject String yourpath = "yourpath/yourfile"; // yourpath pntobject = new PrintWriter(new FileOutputStream(yourpath)); // PrintWriter String writestr="yourwritestring"; // writestr pntobject.println(writestr); // writestr pntobject.close( ); // PrintWriter JSP JSP JSP JSP JSP JSP count.jsp count.txt JSP count1.jsp <html> <head> <title> JSP </title> </head> <body bgcolor="#ffffff"> <%@ page import="java.io.*" %>

169 156 <% BufferedReader file; //BufferedReader String countfile = "count.txt"; // count.txt file = new BufferedReader(new FileReader(countFile)); // file countfile String readstr =null; // readstr int writestr =1; // 1 try readstr = file.readline( ); catch (IOException e) System.out.println("."); if (readstr = = null) readstr = ""; try fileread.close( ); catch(ioexception d) systemmessage=d.tostring( ); // 1 else writestr = Integer.parseInt(readStr)+1; // count.txt try PrintWriter pw = new PrintWriter(new FileOutputStream(countFile)); pw.println(writestr); pw.close( ); catch(ioexception e) out.println(e.getmessage( )); %> <p align="center"> <H1> JSP </h1> <H3> <font color="ff0000" size="7"> <%=readstr%> </font> </h3>

170 157 </body> </html> count1.jsp [x:]\jswdk-1.0.1\webpages\ count.txt count.txt [x:]\jswdk-1.0.1\ [x:] JSWDK count1.jsp JSWDK web count.txt JSWDK JSP Web count1.jsp try file = new BufferedReader(new FileReader(countFile)); catch(ioexception e) out.println(e.getmessage( )); JSP /test.txt JSP test.txt JSP JavaBeans JSP JavaBeans JavaBeans count1.jsp JavaBeans 3 JavaBeans counter.java JavaBeans count2.jsp count.txt counter.java package counter; import java.io.*; public class counter extends Object public String path=""; public String docount( ) throws FileNotFoundException

171 158 BufferedReader file; //BufferedReader String countfile = path; // count.txt file = new BufferedReader(new FileReader(countFile)); String readstr =""; int writestr =1; // 1 try readstr = file.readline( ); catch (IOException e) System.out.println("."); if (readstr = = "") readstr = ""; // 1 else writestr = Integer.parseInt(readStr)+1; // count.txt try PrintWriter pw = new PrintWriter(new FileOutputStream(countFile)); pw.println(writestr); pw.close( ); catch(ioexception e) System.out.println(e.getMessage( )); return readstr; count2.jsp <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="Oracle JDeveloper"> <TITLE> JavaBeans </TITLE> </HEAD> <BODY bgcolor="#ffffff">

172 159 <jsp:usebean id="counter" scope="request" class="counter.counter"/> page contenttype="text/html;charset=gb2312"%> <% counter.path="count.txt"; // String count=counter.docount( ); // %> <p align="center"> <H1> JavaBeans </h1> <H3> <font color="ff0000" size="7"> <%=count%> </font> </h3> </BODY> </HTML> JSP JavaBeans <jsp usebean /> JSP JavaBean counter.java JSWDK Beans [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ counter counter.java counter.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\counter.java counter counter.class count2.jsp JSWDK web [x:]\jswdk-1.0.1\webpages\ count.txt [x:]\jswdk-1.0.1\[x:] JSWDK JavaBeans counter2.jsp counter.path count.docount( )

173 160 counter.path JavaBeans Firework 0~ Firework JavaBeans Java Java String Java String charat(int) compareto(string) concat(string) copyvalueof(char[], int, int) copyvalueof(char[]) endswith(string) equals(object) equalsignorecase(string) getbytes(int, int, byte[], int) byte getchars(int, int, char[], int) hashcode( ) indexof(int)

174 161 indexof(int, int) indexof(string) indexof(string, int) intern( ) lastindexof(int) lastindexof(int, int) lastindexof(string) lastindexof(string, int) length( ) regionmatches(int, String, int, int) regionmatches(boolean, int, String, int, int) replace(char, char) startswith(string, int) startswith(string) substring(int) substring(int, int) tochararray( ) tolowercase( ) tostring( ) touppercase( ) trim( ) valueof(object) valueof(char[]) valueof(char[], int, int) valueof(boolean) valueof(char) valueof(int) valueof(long) valueof(float) valueof(double) tochararray( ) HTML <img src="url" width="width" height="height"> count3.jsp <img src="0.jpg" width="38" height="55"> 0.jpg

175 162 for (int i = 0; i < counts.length; i++) out.print("<img src=\""+counts[i]+".jpg\" width=\"38\" height=\"55\">"); out.print("expression") \b \t Tab \n \f \r \" \' \\ 3 JavaBeans icounter.java JavaBeans count3.jsp count.txt icounter.java package icounter; import java.io.*; import java.util.*; public class icounter extends Object public String path=""; public char[] counts; public char[] docount( ) throws FileNotFoundException

176 163 BufferedReader file; //BufferedReader String countfile = path; // count.txt file = new BufferedReader(new FileReader(countFile)); String readstr =""; int writestr =1; // 1 try readstr = file.readline( ); catch (IOException e) System.out.println("."); if (readstr = = "") readstr = ""; // 1 else writestr = Integer.parseInt(readStr)+1; // count.txt try PrintWriter pw = new PrintWriter(new FileOutputStream(countFile)); pw.println(writestr); pw.close( ); catch(ioexception e) System.out.println(e.getMessage( )); counts = readstr.tochararray( ); return counts; count3.jsp <HTML> <HEAD> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">

177 164 <TITLE> </TITLE> </HEAD> <BODY bgcolor="#ffffff"> <jsp:usebean id="icounter" scope="request" class="icounter.icounter"/> page contenttype="text/html;charset=gb2312"%> <% // count.txt icounter.path="count.txt"; // char[] counts=icounter.docount( ); %> <p align="center"> <H1> </h1> <H2> </h2> <% for (int i = 0; i < counts.length; i++) // out.print("<img src=\""+counts[i]+".jpg\" width=\"38\" height=\"55\">"); %> <H2> </h2> </BODY> </HTML> JSWDK beans [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans icounter icount.java icounter.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\icounter.java count3.jsp JSWDK Web [x:]\jswdk-1.0.1\webpages\ count.txt [x:]\jswdk-1.0.1\[x:] JSWDK 0.jpg 9.jpg count3.jsp JSP 7-1 7

178 user.jsp gbook.jsp view.jsp JSLib.js gbook.java gbook.class old.txt Java Script JavaBeans gbook.java class JSP JavaBeans JSP HTML IE 5.0 Java Script JSLib.js <SCRIPT language=javascript src="jslib.js" > </SCRIPT> (1) isbetween (val, lo, hi) val lo hi true false function isbetween (val, lo, hi) if ((val < lo) (val > hi)) return(false); else return(true); (2) isdate ( ) / /

179 166 true false function isdate (thestr) var the1st = thestr.indexof('/'); var the2nd = thestr.lastindexof('/'); if (the1st = = the2nd) return(false); else var m = thestr.substring(0,the1st); var d = thestr.substring(the1st+1,the2nd); var y = thestr.substring(the2nd+1,thestr.length); var maxdays = 31; if (isint(m)= =false isint(d)= =false isint(y)= =false) return(false); else if (y.length < 4) return(false); else if (!isbetween (m, 1, 12)) return(false); else if (m= =4 m= =6 m= =9 m= =11) maxdays = 30; else if (m= =2) if (y % 4 > 0) maxdays = 28; else if (y % 100 = = 0 && y % 400 > 0) maxdays = 28; else maxdays = 29; if (isbetween(d, 1, maxdays) = = false) return(false); else return(true); (3) istime ( ) HH:MM true false function istime (thestr) var colondex = thestr.indexof(':'); if ((colondex<1) (colondex>2)) return(false); else var hh = thestr.substring(0,colondex); var ss = thestr.substring(colondex+1, thestr.length); if ((hh.length<1) (hh.length>2) (!isint(hh))) return(false); else if ((ss.length<1) (ss.length>2) (!isint(ss))) return(false); else if((!isbetween(hh,0,23)) (!isbetween(ss,0,59))) return(false); else return(true);

180 167 (4) isdigit (thenum) true false function isdigit(thenum) var themask = ' '; if (isempty(thenum)) return(false); else if (themask.indexof(thenum) = = -1) return(false); return(true); (5) is (thestr) true false function is (thestr) var atindex = thestr.indexof('@'); var dotindex = thestr.indexof('.', atindex); var flag = true; thesub = thestr.substring(0, dotindex+1) if ((atindex < 1) (atindex!= thestr.lastindexof('@')) (dotindex < atindex + 2) (thestr.length <= thesub.length)) flag = false; else flag = true; return(flag); (6) isempty (str) true false function isempty (str) if ((str= =null) (str.length= =0)) return true; else return(false); (7) isint (thestr) true false function isint (thestr) var flag = true; if (isempty(thestr)) flag=false;

181 168 else for (var i=0; i<thestr.length; i++) if (isdigit(thestr.substring(i,i+1)) = = false) flag = false; break; return(flag); (8) isreal (thestr, declen) true false function isreal (thestr, declen) var dot1st = thestr.indexof('.'); var dot2nd = thestr.lastindexof('.'); var OK = true; if (isempty(thestr)) return false; if (dot1st = = 1) if (!isint(thestr)) return(false); else return(true); else if (dot1st!= dot2nd) return (false); else if (dot1st= = 0) return (false); else var intpart = thestr.substring(0, dot1st); var decpart = thestr.substring(dot2nd+1); if (decpart.length > declen) return(false); else if (!isint(intpart)!isint(decpart)) return (false); else if (isempty(decpart)) return (false); else return(true); JSLib.js <SCRIPT language=javascript src="jslib.js"></script> 7.2.2

182 HTML onsubmit HTML <SCRIPT language=javascript> function checkform(frm) var flag=true; if (isempty(frm.name.value)) alert(" "); Frm.name.focus( ); flag=false; else if (!is (frm.mail.value)) alert(" "); Frm.mail.focus( ); flag=false; else if (isempty(frm.title.value))

183 170 alert(" "); Frm.title.focus( ); flag=false; else if (isempty(frm.content.value)) alert(" "); Frm.content.focus( ); flag=false; return flag; </SCRIPT> <form name="form" method="post" action="gbook.jsp" onsubmit="return checkform(this)"> onsubmit="return checkform(this)" this onsubmit="return checkform(this)" onclick="return checkform(form)" checkform(frm) user.jsp isempty( ) is ( ) JSLib.js user.jsp user.jsp

184 171 user.jsp <html> <head> <title> </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> </head> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <SCRIPT language=javascript src="jslib.js" type=text/javascript> </SCRIPT> <body bgcolor="#ffffff" topmargin="1"> <div align="center"> <p> </p> <p><font size="6"> </font></p> <table width="500" border="0" cellspacing="1"> <tr> <td> <div align="center"> <SCRIPT language=javascript> function checkform(frm) var flag=true; if (isempty(frm.name.value)) alert(" "); Frm.name.focus( ); flag=false; else if (!is (frm.mail.value)) alert(" "); Frm.mail.focus( ); flag=false; else if (isempty(frm.title.value)) alert(" "); Frm.title.focus( ); flag=false; else if (isempty(frm.content.value))

185 172 alert(" "); Frm.content.focus( ); flag=false; return flag; </SCRIPT> <form name="form" method="post" action="gbook.jsp" onsubmit="return checkform(this)"> <div align="center"> <table width="500" border="1" cellspacing="1"> <tr> <td width="12%"> <div align="right"></div> </td> <td colspan="3"> <input type="text" name="name" size="20"> </td> </tr> <tr> <td width="12%" height="31"> <div align="right"> </div> </td> <td height="31" colspan="3"> <input type="text" name="mail" size="20"> </td> </tr> <tr> <td width="12%"> <div align="right"></div> </td> <td colspan="3"> <input type="text" name="title" size="30"> </td> </tr> <tr> <td width="12%"> <div align="right"></div> </td> <td colspan="3"> <textarea name="content" cols="50" rows="6"></textarea> </td> </tr>

186 173 </table> <table width="100%" border="0"> <tr> <td width="53%"> <div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit2" value=" "> </div> </td> <td width="44%"><a href="view.jsp"></a></td> <td width="3%"> </td> </tr> </table> </div> <p align="center"> </p> </form> </div> </td> </tr> </table> </div> </body> </html> onsubmit onclick onsubmit="return checkform(this)" this Form onclick this this <input type="submit" name="submit" value=" " onclick="return checkform(form)"> Java (1) new.txt (2) new.txt (3) old.txt new.txt (4) old.txt (5) new.txt old.txt

187 174 old.txt JavaBeans gbook.java package gbook; import java.io.*; import java.util.*; public class gbook extends Object //newfilepath public String newfilepath=""; //oldfilepath public String oldfilepath=""; // private File newfile; private File oldfile; // BufferedReader oldfileread private BufferedReader oldfileread; // PrintWriter newfilewrite private PrintWriter newfilewrite; // public boolean flag=true; // public String systemmessage=""; // createfile( ) public void createfile( ) throws FileNotFoundException newfile=new File(newFilePath); oldfile=new File(oldFilePath); oldfileread=new BufferedReader(new FileReader(oldFilePath)); newfilewrite=new PrintWriter(new FileOutputStream(newFilePath)); // writenewfile public void writenewfile(string writestr) throws FileNotFoundException newfilewrite.println(writestr); // writenewfile ( public void writenewfile(java.util.date writestr) throws FileNotFoundException newfilewrite.println(writestr);

188 175 // readoldfile public String readoldfile( ) throws FileNotFoundException String readstr=""; try readstr=oldfileread.readline( ); if(readstr.compareto("<!--end-->")= =0) // false flag=false; catch (IOException e) // false flag=false; return readstr; // public void rename( ) throws FileNotFoundException newfilewrite.close( ); try oldfileread.close( ); catch(ioexception e) systemmessage=e.tostring( ); flag=oldfile.delete( ); flag=newfile.renameto(oldfile); [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ gbook gbook.java gbook.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\gbook.java

189 176 gbook gbook.class gbook.java String newfilepath new.txtstring oldfilepath old.txt flag public void createfile( ) public void writenewfile(string writestr) public void writenewfile(java.util.date writestr) ( public void readoldfile( ) public void rename( ) BufferedReader oldfileread PrintWriter newfilewrite close( ) close( ) delete( ) renameto( ) writenewfile writenewfile(java.util.date writestr) HTML JSP gbook.jsp JavaBeans gbook.jsp <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> <META NAME="GENERATOR" CONTENT="Oracle JDeveloper"> <TITLE> </TITLE> </HEAD> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <SCRIPT language=javascript src="jslib.js" type="text/javascript" ></Script> <BODY bgcolor="#ffffff"> <div align="center"><font size="6"> </font><font size="5"><jsp:usebean id="gbook" scope="request" class="gbook.gbook"/></font> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%

190 177 gbook.newfilepath="new.txt"; gbook.oldfilepath="old.txt"; gbook.createfile( ); String m_name=request.getparameter("name"); String m_mail=request.getparameter("mail"); String m_title=request.getparameter("title"); String m_content=request.getparameter("content"); java.util.date m_date=new java.util.date( ); gbook.writenewfile("<hr width=\"400\" align=\"center\">"); gbook.writenewfile("<div align=\"center\">"); gbook.writenewfile(" <table width=\"400\" border=\"0\" cellspacing=\"3\">"); gbook.writenewfile(" <tr> "); gbook.writenewfile(" <td width=\"55\"> "); gbook.writenewfile(" <div align=\"right\">name:</div>"); gbook.writenewfile(" </td>"); gbook.writenewfile(" <td width=\"92\">"+m_name+"</td>"); gbook.writenewfile(" <td width=\"49\"> </td>"); gbook.writenewfile(" <td width=\"177\"><a href=\"mailto:"+m_mail+"\"> "+m_mail+" </a></td>"); gbook.writenewfile(" </tr>"); gbook.writenewfile(" <tr> "); gbook.writenewfile(" <td width=\"55\"> "); gbook.writenewfile(" <div align=\"right\">title:</div>"); gbook.writenewfile(" </td>"); gbook.writenewfile(" <td colspan=\"3\">"+m_title+"</td>"); gbook.writenewfile(" </tr>"); gbook.writenewfile(" <tr bgcolor=\"#ccccff\"> "); gbook.writenewfile(" <td bgcolor=\"#ffffff\">"); gbook.writenewfile(" <div align=\"right\"></div>"); gbook.writenewfile(" </td>"); gbook.writenewfile(" <td colspan=\"3\">"+m_content+"</td>"); gbook.writenewfile(" </tr>"); gbook.writenewfile(" <tr> "); gbook.writenewfile(" <td width=\"55\"> "); gbook.writenewfile(" <div align=\"right\">time:</div>"); gbook.writenewfile(" </td>"); gbook.writenewfile(" <td colspan=\"3\">"+m_date+"</td>"); gbook.writenewfile(" </tr>"); gbook.writenewfile(" </table>"); gbook.writenewfile("</div>"); String content; do content=gbook.readoldfile( );

191 178 gbook.writenewfile(content); while(gbook.flag); gbook.rename( ); %> </div> <hr width="400" align="center"> <div align="center"> <table width="400" border="0" cellspacing="3"> <tr> <td width="55"> <div align="right">name:</div> </td> <td width="92"><%=m_name%></td> <td width="49"> </td> <td width="177"><%="<a href=\"mailto:"+m_mail+"\">"+m_mail+"</a>"%></td> </tr> <tr> <td width="55"> <div align="right">title:</div> </td> <td colspan="3"><%=m_title%></td> </tr> <tr bgcolor="#ccccff"> <td bgcolor="#ffffff"> <div align="right"></div> </td> <td colspan="3"><%=m_content%></td> </tr> <tr> <td width="55"> <div align="right">time:</div> </td> <td colspan="3"><%=m_date%></td> </tr> </table> <hr width="400"> <a href="view.jsp"></a></div> </BODY> </HTML> gbook.jsp 7-7 HTML <a

192 179 m_mail <%="<a href=\"mailto:"+m_mail+"\">"+m_mail+"</a>"%> 7-7 JSP java.util.date java.util.date m_date=new java.util.date( ); writenewfile(string writestr) writenewfile(java.util.date writestr) gbook.writenewfile(m_date); 7-7 gbook.jsp gbook.jsp view.jsp old.txt view.jsp HTML view.jsp view.jsp <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu-->

193 180 <META NAME="GENERATOR" CONTENT="Oracle JDeveloper"> <TITLE> </TITLE> </HEAD> <BODY bgcolor="#ffffff"> <div align="center"><font size="6"> </font><font size="6"></font> </div> page import="java.io.*" %> <% BufferedReader file; //BufferedReader String oldfile = "old.txt";// old.txt file = new BufferedReader(new FileReader(oldFile)); String readstr =null; do readstr = file.readline( ); out.println(readstr); while(readstr.compareto("<!--end-->")!=0); file.close( ); %> <hr width="400" align="center"> <div align="center"><a href="user.jsp"> </a></div> </BODY> </HTML>

194 JSP ote.jsp dovote.jsp see.jsp vote.java vote.class var.gif vote.txt JavaBeans vote.java class vote.jsp Radio

195 182 vote.jsp vote.jsp <script language="javascript"> function cw( ) window.open ("see.jsp", "MyWindow", "toolbar=no, left=150, top=200, width=270,height=350,menubar=no, systemmenu=no"); </script> <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> <TITLE> </TITLE> </HEAD> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <BODY bgcolor="#ffffff"> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" height="247"> <tr bgcolor="#ffffff"> <td height="81"> <div align="center"><br> <span class="big"><font color="#330099"><font size="6"><b> </b></font></font></span> </div> </td> </tr> <tr bgcolor="#cec1f9" align="center" > <td height="6" width="100%"><font size="2"> </font></td> </tr> <tr bgcolor="#cec1f9"> <td width="100%" height="111" > <form name="form1" method="get" action="dovote.jsp"> <table width="90%" border="0" cellspacing="0" cellpadding="4" align="center"> <tr bgcolor="#f1e8fd"> <td class="line" colspan="2" height="120"> <p>

196 183 <input type="radio" name="cost" value="0"> 1000 <br> <input type="radio" name="cost" value="1"> <br> <input type="radio" name="cost" value="2" checked> <br> <input type="radio" name="cost" value="3"> <br> <input type="radio" name="cost" value="4"> </p> </td> </tr> <tr bgcolor="#f1e8fd"> <td class="line" colspan="2" align="center" height="2"> <input type="image" border="0" name="vote" src="vote.gif" width="36" height="18"> <a href="javascript:cw( )"><img src="see.gif" width="36" height="18" border="0"></a> </td> </tr> </table> </form> <div align="center"></div> </td> </tr> </table> </BODY> vote.jsp Radio name value Java Script <a href="javascript:cw( )"><img src="see.gif" width="36" height="18" border="0"></a> see.gif cw( )cw( ) <script language="javascript"> function cw( ) window.open ("see.jsp", "MyWindow", "toolbar=no, left=150, top=200, width=270,height=350,menubar=no, systemmenu=no"); </script> Java Script window.open( ) window.close( )

197 184 window.close( ) see.jsp windows.open( ) URL window.open( ) window.open( ) window.open(url,name,[options]) URL URL name options option=value 7-3 Navigator Internet Explorer 7-3 open( ) toolbar Yes No location Yes No directories Yes No status Yes No menubar Yes No scrollbars Yes No resizable Yes No width Interger height Interger left Interger top Interger JSP vote.txt 7-10 dovote.jsp dovote.jsp vote.jsp dovote.jsp JavaBeans dovote.jsp <%@ page import="java.util.*" %> <%@ page import="java.lang.*" %> <%@ page import="java.io.*" %> <jsp:usebean id="vote" scope="request" class="vote.vote"/>

198 <% String cost=request.getparameter("cost"); vote.n=5; vote.filepath="vote.txt"; vote.createfile( ); vote.readfile( ); if(cost.compareto("0")= =0) vote.votenum[0]++; if(cost.compareto("1")= =0) vote.votenum[1]++; if(cost.compareto("2")= =0) vote.votenum[2]++; if(cost.compareto("3")= =0) vote.votenum[3]++; if(cost.compareto("4")= =0) vote.votenum[4]++; vote.writefile( ); %> <script language="javascript"> alert("!"); self.location="vote.jsp"; </script> vote.java package vote; import java.io.*; import java.util.*; public class vote extends Object

199 186 //filepath public String filepath=""; //n public int n; // private File votefile; // BufferedReader fileread private BufferedReader fileread; // PrintWriter filewrite private PrintWriter filewrite; // public String systemmessage=""; // private String votestr[]=new String[10]; // public int votenum[]=new int[10]; // createfile( ) public void createfile( ) throws FileNotFoundException votefile=new File(filePath); // votefile 0 if(!votefile.exists( )) // PrintWriter filewrite=new PrintWriter(new FileOutputStream(filePath)); for(int i=0;i<n;i++) filewrite.println("0"); // filewrite filewrite.close( ); // writefile public void writefile( ) throws FileNotFoundException filewrite=new PrintWriter(new FileOutputStream(filePath)); for(int i=0;i<n;i++) filewrite.println(votenum[i]); // filewrite.close( ); // readfile

200 187 try public void readfile( ) throws FileNotFoundException fileread=new BufferedReader(new FileReader(filePath)); for(int i=0;i<n;i++) try votestr[i]=fileread.readline( ); catch(ioexception f) votestr[i]="0"; votenum[i]=integer.parseint(votestr[i]); fileread.close( ); catch(ioexception d) systemmessage=d.tostring( ); JSP vote.txt 5 0 JavaBeans [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ vote vote.java vote.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\vote.java vote vote.class vote.java BufferedReader fileread PrintWriter filewriter PrintWriter PrintWriter PrintWriter public void writefile( ) vote.java n Java vote.n vote.java JSP JavaBeans JSP JSP dovote.jsp

201 188 Java Script <script language="javascript"> alert("!"); self.location="vote.jsp"; </script> alert(message); Message self.location=url; URL see.jsp 7-11 see.jsp 7-11 see.jsp see.jsp page import="java.util.*" %> page import="java.lang.*" %> page import="java.io.*" %> <jsp:usebean id="vote" scope="request" class="vote.vote"/> <% String cost=request.getparameter("cost"); vote.n=5; vote.filepath="vote.txt";

202 189 vote.createfile( ); vote.readfile( ); int total=0; float voteflo[]=new float[5]; for(int i=0;i<5;i++) total+=vote.votenum[i]; for(int i=0;i<5;i++) voteflo[i]=150*((float)vote.votenum[i]/(float)total); %> <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> <TITLE></TITLE> </HEAD> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <BODY bgcolor="#ffffff"> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" height="247"> <tr bgcolor="#ffffff"> <td height="43"> <div align="center"> <span class="big"><font color="#330099"><b><br> </b><font size="6"><b><font size="5"> </font></b> </font></font></span><span class="big"><font color="#330099"><b><br> <br> </b></font></span></div> </td> </tr> <tr bgcolor="#cec1f9" align="center" > <td height="6" width="100%"> </td> </tr> <tr bgcolor="#cec1f9"> <td width="100%" height="247" > <table width="90%" border="0" cellspacing="0" cellpadding="4" align="center"> <tr bgcolor="#f1e8fd"> <td class="line" colspan="2" height="120"> <p> <br> <br> <br> <br> 5 </p> <p>

203 190 1 <img src="bar.gif" width=<%=voteflo[0]%> height=8> <%=vote.votenum[0]%><br> 2 <img src="bar.gif" width=<%=voteflo[1]%> height=8> <%=vote.votenum[1]%><br> 3 <img src="bar.gif" width=<%=voteflo[2]%> height=8> <%=vote.votenum[2]%><br> 4 <img src="bar.gif" width=<%=voteflo[3]%> height=8> <%=vote.votenum[3]%><br> 5 <img src="bar.gif" width=<%=voteflo[4]%> height=8> <%=vote.votenum[4]%><br> </p> </td> </tr> <tr bgcolor="#f1e8fd"> <td class="line" colspan="2" align="center" height="2"> <a href="javascript:window.close( );"> </a> </td> </tr> </table> <div align="center"></div> </td> </tr> </table> </BODY> </HTML> JavaBeans JavaBeans JSP out Width HTML <img src="bar.gif" width=100 height=8> bar.gif total for(int i=0;i<5;i++) voteflo[i]=150*((float)vote.votenum[i]/(float)total); HTML JSP 1 <img src="bar.gif" width=<%=voteflo[0]%> height=8> <%=vote.votenum[0]%><br> 2 <img src="bar.gif" width=<%=voteflo[1]%> height=8> <%=vote.votenum[1]%><br> 3 <img src="bar.gif" width=<%=voteflo[2]%> height=8> <%=vote.votenum[2]%><br>

204 191 4 <img src="bar.gif" width=<%=voteflo[3]%> height=8> <%=vote.votenum[3]%><br> 5 <img src="bar.gif" width=<%=voteflo[4]%> height=8> <%=vote.votenum[4]%><br> Java Script <a href="javascript:window.close( );"> </a> 7.4 JSP JSP maillist.jsp maillist.jsp maillist.jsp click maillist.jsp <SCRIPT language=javascript src="jslib.js" type=text/javascript> </SCRIPT> <SCRIPT language=javascript>

205 192 function Change1(Frm) Frm.mtype.value="del"; function Change2(Frm) Frm.mtype.value="del"; function checkform(frm) var flag=true; if (!is (frm.mail.value)) alert(" "); Frm.mail.focus( ); flag=false; return flag; </SCRIPT> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <form name="form" method="post" action="edtmail.jsp" onsubmit="return checkform(this)"> <div align="center"> <table width="250" border="1" bordercolor="#ff0033"> <tr> <td> <table width="250" border="0" cellspacing="0"> <tr bgcolor="#ff5d26"> <td height="17"> <div align="center"><span class=eng><font color=#ffffff>mail list</font></span></div> </td> </tr> <tr bgcolor="#ffd6c8"> <td height="28">

206 193 <p><font color="#ff0000"> </font> </p> </td> </tr> <tr bgcolor="#ffd6c8"> <td height="7"> <input type="text" name="mail" size="25"> <input type="hidden" name="mtype" value="add"> </td> </tr> <tr bgcolor="#ffd6c8"> <td height="36"> <div align="right"> <input onclick="return Change1(form);" type="image" border="0" name="imagefield" src="add.gif" width="42" height="18"> <input onclick="return Change2(form);" type="image" border="0" name="imagefield2" src="del.gif" width="42" height="18"> </div> </td> </tr> </table> </td> </tr> </table> </div> </form> </body> </html> mtype add <input type="hidden" name="mtype" value="add"> <input onclick="return Change1(form);" type="image" border="0" name="imagefield" src="add.gif" width="42" height="18"> <input onclick="return Change2(form);" type="image" border="0" name="imagefield2" src="del.gif" width="42" height="18"> Change1(form) Change2(form) mtype add del Frm.mtype.value="del"; onsubmit checkform(this)

207 emag.txt (1) new.txt (2) emag.txt n (3) n+1 new.txt (4) th new.txt (5) n emag.txt (6) th new.txt (7) th flag true false (8) flag true emag.txt new.txt emag.txt (9) flag false new.txt emag.java JavaBeans JSP edtmail.jsp emag.java

208 195 package emag; import java.io.*; import java.util.*; public class emag extends Object //newfilepath public String newfilepath=""; //oldfilepath public String oldfilepath=""; // private File newfile; private File oldfile; // BufferedReader oldfileread private BufferedReader oldfileread; // PrintWriter newfilewrite private PrintWriter newfilewrite; // public boolean flag; // public String th ; // public String systemmessage=""; // createfile( ) public void createfile( ) throws FileNotFoundException newfile=new File(newFilePath); oldfile=new File(oldFilePath); oldfileread=new BufferedReader(new FileReader(oldFilePath)); newfilewrite=new PrintWriter(new FileOutputStream(newFilePath)); // writenewfile public void writenewfile(string writestr) newfilewrite.println(writestr); // writenewfile public void writenewfile(int writestr) newfilewrite.println(writestr); // readoldfile public String readoldfile( )

209 196 String readstr=""; try readstr=oldfileread.readline( ); catch (IOException e) // false flag=false; return readstr; // addmail( ) public void addmail( ) flag=true; String readstr=readoldfile( ); int n=integer.parseint(readstr); writenewfile(n+1); writenewfile(th ); for(int i=0;i<n;i++) readstr=readoldfile( ); if(readstr.compareto(th )= =0) flag=false; writenewfile(readstr); // delmail( ) public void delmail( ) flag=false; String readstr=readoldfile( ); int n=integer.parseint(readstr); writenewfile(n-1); for(int i=0;i<n;i++) readstr=readoldfile( ); if(readstr.compareto(th )!=0) writenewfile(readstr); else flag=true; // rename( ) public void rename( ) throws FileNotFoundException newfilewrite.close( ); boolean aflag; try

210 197 oldfileread.close( ); catch(ioexception e) systemmessage=e.tostring( ); if(flag) aflag=oldfile.delete( ); aflag=newfile.renameto(oldfile); else aflag=newfile.delete( ); edtmail.jsp <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <style type="text/css"> "css/cssset.css"; --> </style> <META NAME="GENERATOR" CONTENT="Oracle JDeveloper"> <TITLE> </TITLE> </HEAD> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <BODY bgcolor="#ffffff"> <jsp:usebean id="emag" scope="request" class="emag.emag"/> page import="java.util.*" %> page import="java.io.*" %> <% String m_type=request.getparameter("mtype"); emag.th =request.getparameter("mail"); emag.oldfilepath="emag.txt"; emag.newfilepath="new.txt"; emag.createfile( ); if(m_type.compareto("add")= =0) emag.addmail( ); if(emag.flag) %>

211 198 <SCRIPT language=javascript> alert(" "); </SCRIPT> <% else %> <SCRIPT language=javascript> alert(" "); </SCRIPT> <% else emag.delmail( ); if(emag.flag) %> <SCRIPT language=javascript> alert(" "); </SCRIPT> <% else %> <SCRIPT language=javascript> alert(" "); </SCRIPT> <% emag.rename( ); %> <SCRIPT language=javascript> self.location="maillist.jsp"; </SCRIPT> </BODY> </HTML> [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ emag emag.java emag.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\emag.java emag emag.class emag.java JSWDK emag.txt edtmail.jsp emag.txt 0 newfilepath oldfilepath JSP

212 199 flag JSP JSP alert(alertstring) Java Script JSP %> <% JSP %> <% Java Script JSP HTML HTML <% %> <SCRIPT language=javascript> alert(" "); </SCRIPT> <SCRIPT language=javascript> alert("<%=emag.flag%>"); </SCRIPT> true edtmail.jsp edtmail.jsp self.location="maillist.jsp"; send.html send.jsp ActiveX Java SMTP

213 200 SMTP send.html <html> <head> <title> </title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <form name=mailform action="send.jsp" method="post" > <div align="center"> <table width="300" border="1" bordercolor="#3333ff"> <tr> <td> <table width="350" border="0" cellspacing="0"> <tr bgcolor="#ff5d26"> <td colspan="2" height="66"> <div align="center"> <h2><font color="#ffffff" size="5"><b><br> </b></font></h2> </div> </td> </tr> <tr bgcolor="#ffd6c8"> <td height="13" width="70"> <div align="right"></div> </td> <td height="13" width="276"> <input type="text" name="host" size="18"> </td> </tr> <tr bgcolor="#ffd6c8"> <td width="70" height="3"> <div align="right"> </div> </td> <td width="276" height="3"> <input type="text" name="from" size="18">

214 201 </td> </tr> <tr bgcolor="#ffd6c8"> <td width="70" height="2"> <div align="right"> </div> </td> <td width="276" height="2"> <input type="text" name="list" size="18"> </td> </tr> <tr bgcolor="#ffd6c8"> <td height="2" width="70"> <div align="right"></div> </td> <td height="2" width="276"> <input type="text" name="subject" size="18"> </td> </tr> <tr bgcolor="#ffd6c8"> <td width="70" height="61"> <div align="right"></div> </td> <td width="276" height="61"> <textarea name="message" cols="35" rows="8"></textarea> </td> </tr> <tr bgcolor="#ffd6c8"> <td width="70" height="2"> </td> <td width="276" height="2"> <input type="submit" name="submit" value=" "> <input type="reset" name="reset" value=" "> </td> </tr> </table> </td> </tr> </table> </div> </form> </body> </html> send.html 7-16

215 SMTP (1) SMTP (2) (3) (4) (5) (6) (7) (8) . (9) (10) QUIT ASCII SMTP send.jsp page import="java.io.*" %> page import="java.net.*" %> page import="java.util.*" %> <%! // class Parameters JspWriter out;

216 203 Socket socket; PrintWriter mailout; BufferedReader mailin; // void sendcommand(parameters parms,string cmd) throws IOException parms.out.println("c: " + cmd); parms.mailout.print(cmd + "\r\n"); parms.mailout.flush( ); String line=parms.mailin.readline( ); parms.out.println("s: " + line); // void senddata ( Parameters parms, String to, String subject, String message ) throws IOException message = "to: " + to + "\r\n" + message; message = "subject: " + subject + "\r\n" + message; parms.out.println(message); parms.mailout.print(message + "\r\n"); parms.mailout.print("\r\n.\r\n"); parms.mailout.flush( ); String line=parms.mailin.readline( ); parms.out.println("s: " + line); %> <% // String host=request.getparameter("host"); if((host= =null) (host.trim( ).equals(""))) throw new RuntimeException ("No mailhost parameter specified"); String from=request.getparameter("from"); if((from= =null) (from.trim( ).equals(""))) throw new RuntimeException ("No form parameter specified"); String list=request.getparameter("list"); if((list= =null) (list.trim( ).equals("")))

217 204 throw new RuntimeException ("No to parameter specified"); String subject=request.getparameter("subject"); if((subject= =null) (subject.trim( ).equals(""))) throw new RuntimeException ("No subject parameter specified"); String message =request.getparameter("message"); if((message= =null) (message.trim( ).equals(""))) throw new RuntimeException ("No message parameter specified"); BufferedReader file; //BufferedReader file = new BufferedReader(new FileReader(list)); int n=0; String to=""; try to=file.readline( ); catch (IOException e) System.out.println("."); n=integer.parseint(to); out.println("<h3>send Mail Log</h3>"); out.println("<pre>"); // Parameters parms=new Parameters( ); for(int i=0;i<n;i++) try to=file.readline( ); catch (IOException e) System.out.println("."); // // parms.out = out; parms.socket=new Socket(host,25); parms.mailout= new PrintWriter(parms.socket.getOutputStream( ),true); parms.mailin = new BufferedReader( new InputStreamReader( parms.socket.getinputstream( ))); String line = parms.mailin.readline( ); parms.out.println("s :" + line); sendcommand(parms,"helo " + host); sendcommand(parms,"mail from :" + from);

218 205 sendcommand(parms,"rcpt to :" + to); senddata(parms,to,subject,message); sendcommand(parms,"quit"); parms.socket.close( ); out.println("</pre>"); %> send.html <%@ page errorpage="/errorpage.jsp"%> errorpage.jsp <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <div align="center"> <p> </p> <p> </p> </div> </body> </html>

219 JSP JSP Tic Tac Toc game.java game.jsp (1) (2) 3 (3) (4) (5) 6 (6) (7) (8) game.java

220 207 Java game.java game.jsp package game; import java.io.*; import java.math.*; public class game public int list[]=new int[9]; public int id; public boolean overflag=false; public boolean winflag=false; public String maplink[]=new String[9]; public int winnum= 1; public int lossnum= 1; // public void clear( ) for(int i=0;i<9;i++) list[i]=0; overflag=false; winflag=false; winnum= 1; lossnum= 1; public void resetflag( ) winflag=false; winnum= 1; lossnum= 1; public void think(int a1,int a2,int a3) int aa=list[a1]+list[a2]+list[a3]; if(aa= = 2) if(list[a1]= =0) lossnum=a1; if(list[a2]= =0) lossnum=a2; if(list[a3]= =0) lossnum=a3; if(aa= = 2) if(list[a1]= =0) winnum=a1; if(list[a2]= =0) winnum=a2; if(list[a3]= =0) winnum=a3; if(!overflag) winflag=true; overflag=true; if(aa= = 3)

221 208 winflag=false; overflag=true; public void linkmake( ) for(int i=0;i<9;i+ +) if(list[i]= =0&&!overFlag) maplink[i]="<a href=\"game.jsp?id="+i+"\"><img src=\"0.gif\" width=\"49\" height=\"50\"></a>"; else maplink[i]="<img src=\""+list[i]+".gif\" width=\"49\" height=\"50\">"; public int makernd( ) int totalnum=0; int rndlist[]=new int[9]; for(int i=0;i<9;i++) if(list[i]= =0) totalnum++; rndlist[totalnum-1]=i; if(totalnum<2) overflag=true; if(totalnum= =0) return 1; else int rndnum=(int) (totalnum*math.random( )); return rndlist[rndnum]; [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ game game.java game.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\game\game.java JSP game Session game Session JSP game.jsp

222 game.jsp page import="game.game" %> <%game mygame=(game) session.getvalue("mygame"); String sid=request.getparameter("id"); if(sid= =null) sid="9"; int id=integer.parseint(sid); int outprn=0; boolean nowin=false; if(mygame= =null) mygame=new game( ); mygame.clear( ); session.putvalue("mygame",mygame); else if(id= =9) mygame.clear( ); else if(id= =10) mygame.clear( ); if(id!=10) mygame.list[id]= 1; mygame.think(0,1,2); mygame.think(3,4,5); mygame.think(6,7,8); mygame.think(0,3,6); mygame.think(1,4,7); mygame.think(2,5,8); mygame.think(0,4,8); mygame.think(2,4,6);

223 210 if(mygame.overflag&&!mygame.winflag) outprn=1; else if(mygame.overflag&&mygame.winflag) outprn= 1; mygame.list[mygame.winnum]=1; else if(!mygame.overflag&&mygame.lossnum!= 1) mygame.winflag=true; mygame.list[mygame.lossnum]=1; else int rndnum=mygame.makernd( ); if(rndnum!=-1) mygame.list[rndnum]=1; if(mygame.overflag) nowin=true;mygame.overflag=true;outprn=0; mygame.resetflag( ); mygame.linkmake( ); session.putvalue("mygame",mygame); %> <html> <head> <title> JSP </title> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <div align="center"> <h1><b><font size="6" color="#3333ff"> JSP </font></b><br> <br> </h1> <table width="300" border="0"> <tr> <td width="123"> </td> <td width="51"> <table width="0" border="0" cellspacing="0" height="0"> <tr> <td><%=mygame.maplink[0]%></td> <td><%=mygame.maplink[1]%></td> <td><%=mygame.maplink[2]%></td> </tr> <tr> <td height="19"><%=mygame.maplink[3]%></td> <td height="19"><%=mygame.maplink[4]%></td>

224 211 <td height="19"><%=mygame.maplink[5]%></td> </tr> <tr> <td><%=mygame.maplink[6]%></td> <td><%=mygame.maplink[7]%></td> <td><%=mygame.maplink[8]%></td> </tr> </table> </td> <td width="94"> </td> <td width="14"> <div align="right"><font size="4" color="#cc0033"><% if(mygame.overflag) if(outprn= = 1) %><% if(outprn= =1) %><% if(outprn= =0) %> <% %></font></div> </td> </tr> </table> <br> <font size="5" color="#0000ff"> </font> <table width="265" border="0"> <tr> <td width="168"> <a href="game.jsp?id=9"> </a> <a href="game.jsp?id=10"> </a></td> <td width="45"><a href="order.jsp" target="_blank"> </a></td> </tr> </table> <br> </div> </body> </html> id id 0~8 id 9 10 outprn boolean overflag winflag

225 8 SQL SQL Server 7.0 SQL SELECT SQL Web JSP JSP JSP 8.1 SQL DBMS DBMS (1) (2) (3) 8.1.1

226 213 C Pascal Independent Dependent temployee temployeeadress Temployee temployeeaddress Primary Keys SSN FirstName LastName Ashton Hobbs Michelle Hobbs Chery Martin Mike Martin SSN LongVarChar ID Internal ID

227 Foreign Keys Data Definition Language Sybase SQLAnywhere SQLCentral Add Foreign Key Add Foreign Key Yellow Pages

228 215 SQL Where Char VarChar Date Time DateTime Binary Decimal Integer Numeric Timestamp Null

229 216 1~ Char VarChar Char VarChar VarChar Char VarChar VarChar LongVarChar LongVarChar 2~4GB Text Text LongVarChar Text 2KB Text VarChar LongVarChar Date Time DateTime Time DateTime DateTime

230 217 Binary Binary Binary Binary LongBinary LongBinary Binary Decimal Float Decimal Money Currency Decimal Money Currency Integer Integer 4 Integer Integer SmallInt TinyInt Integer SmallInt TinyInt Numeric Decimal Numeric Decimal Numeric Numeric 1 TimeStamp TimeStamp TimeStamp TimeStamp

231 218 TimeStamp NULL NULL NULL NULL NULL NULL SQL NULL SQL Select NULL NULL NULL NULL SQL LastName NULL Select * From temployee Where LastName <> Hobbs LastName Hobbs NULL LastName NULL SQL Select LastName NULL Select * From temployee Where LastName = NULL 8.1.6

232 219 Before Before After Update SQL SQL 8.2 SQL Server 7.0 ISP Internet Service Provider RDBMS RDBMS SQL Server TPC 100GB 100GB Oracle Sybase IBM DB2 SQL Server SQL Server

233 Microsoft SQL Server RDBMS RDBMS MS SQL Server Intranet Internet Extranet SQL Server SQL Server 7.0 NT NT Server Windows 98 SQL Server 7.0 NT SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL DBMS DBMS RDBMS BDBMS BD BMS SQL SQL SQL SQL DDL DBMS DDL DML DML SQL SELECT ASI ISO SQL ANSI SQL

234 221 SELECT first_name last_name FROM tb_employees WHERE emp_type manager AND emp_state NY SELECT SQL Server SQL Server 4 master model tempdb ms-db SQL Server DBMS Microsoft SQL Server 4 (1) Master SQL Server SQL Server (2) Tempdb SQL Server SQL Server ALERT TABLE (3) Model CREATE DADABASE SQL Server SQL Server (4) ms-db SQL Server Agent SQL Server 7.0 DBASQL Server SQL Server

235 222 SQL Server 7.0 SQL Server SQL Server 7.0 SQL Server 7.0 DBMS SQL Server 7.0 8K 2K SQL Server 7.0 2K 96 ID SQL Server SQL Server Data Idex Text imgae Golbal allocation map Page free space Index allocation map text ntext image text ntext image text ntext image Item 8K SQL Server text ntext image Extent 8 64K SQL Server SQL Server 7.0 SQL Server 7.0 Uniform extent 8

236 223 Mix extent 8 8 (1) SQL Server 7.0 SQL Server Primary.mdf Secondary.ndf.1df SQL Server 7.0.mdf.ndf.1df SQL Server 7.0 logical_file_name Transact_SQL SQL Server os_file_nane Microsoft Windows NT Microsoft Windows 95 SQL Server 7.0 l (2) 3 Primary User-defined CREATE DATABASE AELTER DATABASE FILEGROUP Db_owner

237 224 AUTOGROW AUTOGROW SQL5erver 7 DBA SQL Server Sybase Microsoft SQL Server (1) (2) (3) (4) (5) SQL Server (6) (7) Windows 95 (8) (9) Unicode (10) SOL Sever (Computer-to-computer) SQL Sever 7.0 Windows NT SQL Server SQL Server 7.0 8~16 1M SMP

238 225 2K 8K SQL Server SQL Server 7.0 SQL Server 7.0 SQL Server SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 OLTP SQL Server 7.0 SQL Server 7.0

239 226 SQL Server 7.0 Syslog SQL Server 7.0 SQL Server 7.0 QLAP - SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server SQL Server 7.0 Index-selection SQL Server 7.0 DBCC SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server SQL Server 7.0 SQL Server 7.0

240 227 SQL Server 7.0 DBCC BCP ODBC SQL Server SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 SQL Server 7.0 Windows NT NT SQL Server Windows NT SQL Server 7.0 SQL Server SQL Server SQL Server Windows NT SQL Server Windows NT dbcreator ator diskadmin sysadmin SQL Server 7.0 ODBC SQLPrepare SQL OLE DB IcommandPrepare SQL Server 7.0 SQL-92 SQL SQL-92 SQL Server 7.0 SQL Server

241 228 SQL Server 7.0 SQL Server SQL Server 7.0 SQL Server sp_dboption sp_dbcmptlevel SQL Server Enterprise Manager MMC SQL Server 7.0 SQL Server Transact-SQL SQL SQL Server Agent SQL Server Agent SQL Server Agent SQL Service Manager SQL MySQLServer MSDTC MS Search SQLServer Agent SQL 8.3 SQL SQL BDBMS SQL

242 SQL SQL Structured Query Language ANSI ISO SBM Xbase SQL ANSI SQL ISO ANSI SQL 1989 SQL SQL SQL-92 SQL 30 SQL E.F.Codd Codd 1972 SQL 4 20 Data Definition Language DDL CREATE ALTER DROP INSERT Data Mainpulation Ganguage DML SELECT UPDATE DELETE SQL Xbase COBOL PL/I ANSI Cursor SQL Data Dictionary System Table DBF SQL Xbase SQL Scheme

243 230 SQL Data Query Data Manipulation Data Definition Data Control (1) (2) SQL (3) SQL (4) SQL (5) SQL SELECT CREATE DROP ALTER INSERT UPDATE DELETE GRANT REVOTE SQL View Base Table SQL

244 SQL SQL 8-5 SQL ORACLE 8-5 SQL CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX SQL CREATE TABLE CREATE TABLE< > < >< >[] [ < >< >[] ] [ <>] < > DBMS SQL Alter table table_name add columnfield_namefield_data_type; Alter table table_name change column existing_field_name new_field_name new_field_data_type Alter table table_name drop column existing_field_name (1)

245 232 (2) (3) SQL Delete SQL DROP TABLE DROP TABLE <table_name> SQL SQL CREATE INDEX CREATE [UNIQUE] [CLUSTER] INDEX <> ON < > < >[< >] [ < >[< >]] < > < >< > ASC DESCUNIQUE CLUSTER CREATE CLUSTED INDEX Stuname ON Student(name); Student name Student SQL GRANT REVOKE

246 233 GRANT priv_type [( )] [, priv_type [( )]...] ON <> * *.* < >.* TO user_name [IDENTIFIED BY 'password'] [, user_name [IDENTIFIED BY 'password']...] [WITH GRANT OPTION] REVOKE priv_type [( )] [, priv_type [( )]...] ON <> * *.* < >.* FROM user_name [, user_name...] GRANT MySQL MySQL GRANT GRANT REVOKE 4 MySQL (1) (2) (3) (4) GRANT REVOKE priv_type ALL PRIVILEGES DROP SELECT FILE RELOAD SHUTDOWN ALTER INDEX UPDATE CREATE INSERT REFERENCES DELETE PROCESS USAGE ALL ALL PRIVILEGES REFERENCES USAGE grant GRANT OPTION priv_type REVOKE GRANT OPTION ON... FROM...; priv_type SELECT INSERT UPDATE DELETE CREATE DROP GRANT INDEX ALTER priv_type column_list

247 234 SELECT INSERT UPDATE ON *.* ON db_name.* ON * ON * 8.4 SQL SELECT SELECT SELECT SELECT SQL SELECT SQL SELECT SELECT SELECT SQL SELECT [ALL DISTINCT] [. [AS ] [[. [AS ]] * FROM [] [ [ ] [[INTO ] [TO FILE [ADDITIVE] TO PRINTER [PROMPT] TO SCREEN] [PREFERENCE expc ] [NOCONSOLE] [PLAIN] [NOWAIT] [WHERE [AND ] [AND OR [AND OR ]]] [GROUP BY [ ]] [HAVING ] [UNION [ALL] SELECT ] [ORDER BY [ASC DESC] [ [ASC DESC] ]] SQL SELECT SQL SELECT FROM

248 235 GROUP BY SQL SELECT 8-7 SQL SELECT SQL SELECT 8-7 SQL SELECT All DISTINHCT[.] [AS ] * FROM [] [ AS FROM BROWSE INTO ARRAY ] INTO CURSOR [PREFREN exp ] INTO DBF expfn INTO TABLE expfn INTO DBF TO FILE expfn [ADDITIVE] LIST TO PRINTER [PROMPT] LIST TO SCREEN LIST ] [WHERE [AND ] [GROUP BY [ ]] [HAVING ] [AND OR [AND OR ]]] FOR SELECT ALL [UNION [ALL] SELECT ] [ORDER BY [ASC DESC] SELECT [ALL DISTINCT] <>[ <>]

249 236 FROM <>[ <>] [WHERE < >] [GROUP BY < 1>[HAVING < >]] [ORDER BY < 1>[ASC DESC]]; SELECT WHERE FROM SELECT GROUP < 1> GROUP HAVING ORDER < 2> SELECT SELECT SELECT FROM (1) (2) (3) [ ] 1 [ ] Access SQL Server SQL Server Access 2 Windows [ ] Windows * SELECT * FROM * SELECT FROM 1 2 3

250 237 1 As 1 2 As 2 3 As IDStock SELECT SELECT As ID As Stock FROM As SELECT As FROM As SELECT As FROM Order By SELECT As FROM Order By SELECT FROM WHERE SELECT FROM <60 60 WHERE SELECT FROM SELECT * FROM WHERE <60

251 SELECT SELECT * FROM WHERE > 90 OR >90 OR >90 SELECT FROM ORDER BY ORDER BY SELECT FROM SELECT * FROM ORDER BY SELECT * FROM ORDER BY ORDER BY DESC SELECT * FROM ORDER BY DESC SELECT * FROM ORDER BY DESC ORDER BY WHERE ORDER BY WHERE WHERE SELECT TOP SELECT TOP 10 * FROM ORDER BY DESC SELECT * FROM ORDER BY DESC 10 TOP n

252 239 SELECT TOP 10 PERCENT * FROM ORDER BY DESC TOP n PERCENT WHERE SQL WHERE WHERE (1) 1032 SELECT SELECT * FROM WHERE 1032 SQL sql "SELECT * FROM WHERE ""1032"" " "abc"xyz" WHERE "WHERE "abc""xyz"" SELECT SQL sql "SELECT * FROM WHERE ""abc""""xyz""" (2) SQL SELECT * FROM WHERE '1032' SQL sql "SELECT * FROM WHERE '1032'" abc"xyz sql "SELECT * FROM WHERE 'abc'"'xyz'" abc'xyz

253 240 sql "SELECT * FROM WHERE 'abc''xyz'" (3) 1032abc"zyzabc'xyz data Request "DataName" sql "SELECT * FROM WHERE '"& data & "' " data 1032 SQL SELECT * FROM WHERE '1032' data abc'xyz SQL SELECT * FROM WHERE 'abc'xyz' data Request "DataName" data Replace data "'" "''" sql "SELECT * FROM WHERE '"& data & "' " Replace data Data SQL (4) SQL SqlStr SQL Function SqlStr data SqlStr "'"& Replace data "'" "''" &"'" End Function sql "SELECT * FROM WHERE "& SqlStr "1032" sql "SELECT * FROM WHERE "& SqlStr "abc""xyz" sql "SELECT * FROM WHERE "& SqlStr "abc'xyz" data Request "DataName" sql "SELECT * FROM WHERE "& SqlStr data WHERE Like WHERE '1032' 1032

254 241 WHERE Like '10 ' 10 Like WHERE WHERE Like ADO _ () _ () Acess.mdb ADO SQL _ * _ ANSI-SQL VB/Access SQL * DOS/Windows ADO Internet ANSI-SQL Like (1) Becneen And >= And <= >= And <= >= <= And 3 Becneen And (2) Is Null / Is Not Null Null Null Null (3) In In In ' ' ' ' ' ' ' ' WHERE # # 2000/10/7 WHERE # 2000 / 10 / 7 #

255 242 Data( ) WHERE Data( ) 8.5 SQL SQL SELECT Delete Delete Delete From WHERE Delete 0 Delete From WHERE 0 Delete WHERE Delete From Delete From Delete * From Update Update 10 Update Update Set ^0.5*10 ^0.5*10 VB Script Update 10 WHERE

256 243 Update Set ^0.5*10 WHERE Like Set Update Set ^0.5*10 ^0.5*10 ^0.5* Insert Into Insert Into Insert Into Values Insert Into Select Insert Into Insert Into Values Values (1) Insert Into Values (2) Insert Into Values (1) (2) Insert Into Select

257 244 Insert Into Select * From Select * From Insert Into Select ^0.5*10^0.5*10^0.5*10 From Select Into Insert Into Select Insert Into Insert Into Select JSP Web As As Into JSP Web Insert Into Select * Into From Where >= 90 Select Into Select Into Into Select Into

258 9 JSP JSP JDBC Drive DriverManger JSP Web Web SQL Server JSP JSP 9.1 JSP Sun JDBC JDBC API JAVA String Java JDBC JDBC 4 C JDBC ODBC ODBC ODBC JDBC/ODBC C JDBC API Java Java JDBC SQL*Net Java

259 246 Java JDBC Oracle CLI Java DBMS JDBC-ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); class name class name jdbc.driverxyz Class.forName("jdbc.DriverXYZ"); DriverManager class.forname DBMS DBMS Connection con=drivermanager.getconection(url, "mylogin","mypassword"); URL JDBC-ODBC JDBC URL jdbc:odbc ODBC ODBC Fred JDBC URL jdbc:odbc:fredmylogin DBMS mypassword String url = "jdbc:odbc:fred"; Connection con = DriverManager.getConnection(url, "Fernanda", "J8"); URL DriverManager.getConnection DBMS

260 JSP JSP <!-- packages--> <!-- packages--> page info="database handler"%> page import="java.io.*"%> page import="java.util.*"%> page import="java.sql.*"%> page import="javax.servlet.*"%> page import="javax.servlet.http.*"%> <!-- --> <% try // // JDBD-ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // //1. DBMS String url="jdbc:odbc:test"; //"test" dsn Connection con=drivermanager.getconnection(url, "administrator", "password"); //"administrator","password" //2. JDBC Statement stmt = con.createstatement( ); String query="create TABLE COFFEES" + "(COF_NAME VARCHAR(32),"+ "SUP_ID INTEGER,"+ "PRICE FLOAT,"+ "SALES INTEGER,"+ "TOTAL INTEGER)"; // stmt.executeupdate(query); catch (Exception e) // out.println("table coffees created"); %> package

261 JDBC Java1.02 Java Java Java1.1 JDBC Java Sun Java Database Connectivity JDBC Java JDBC Java Java API JDBC SQL JDBC CGI Java Java Common Gateway Interface CGI Java CGI JDBC Java CGI Java JDBC CGI CGI CGI JDBC Java Web CGI 9-1 CGI CGI Web JDBC SQL SQL CGI JDBC Java JDBC 9-2 JDBC

262 Java Java SQL JDBC API Java SQL Java SQL JDBC API SQL SQL IN OUT 9-1 JDBC API 9-1 JDBC API CallsbleStatement Connection DatabaseMetaData Driver PrepareStatement ResultSet ResultSetMetaData Statement OUT Java Java JDBC SQL SQL Select SQL (1) CallableStatement CallableStatement OUT CallableStatement PrepareStatement PreparedStatement OUT (2) Connection Connection Java SQL Statement Connection (3) DatabaseMetaData DatabaseMetaData (4) Driver Driver JDBC Driver

263 250 (5) PreparedStatement PreparedStatement SQL SQL SQL SQL SQL (6) ResultSet ResultSet SQL Select SQL Select Cursor ResultSet Select ResultSet (7) ResultMetaData ResultMetaData ResultMetaData ResultSet ResultMetaData ResultSet (8) Statement Statement Connection SQL executequery( ) executeupdate( ) SQL ExecuteQuery( ) ResultSet Statement PreparedStatement CallableStatement Java 9-2 JDBC API 9-2 JDBC API Date DriverManager DriverPropertyInfo Time Timestamp Types Date Driver Time Timestamp JDBC JDBC API (1) Date Date Java Date (2) DriverManager DriverManager JDBC

264 251 Driver DriverManager (3) DriverPropertyInfo DriverPropertyInfo Driver DriverPropertyInfo (4) Time Time Java Date Time Time (5) Timestamp Timestamp Timestamp (6) Types Types JDBC JDBC API Java JDBC 3 JDBC JDBC (1) DataTruncation JDBC DataTruncation DataTruncation (2) SOLException JDBC API SOLException SQL (3) SQLWarning SQLWarning 9.3 JDBC JDBC Driver Driver Manager JDBC JDBC dbanywhere Symantec

265 252 Java dbanywhere Java JDBC dbanywhere JDBC 9-3 JDBC 9-3 JDBC Agave Software Design Asgard Software Borland Connect Software DataRamp IBM Imaginary InterSoft Intersolv JavaSoft OpenLink SAS SCO StormCloud Development Symatec Visigenic WebLogic JDBC Net Server Open/A for Java InterClient Connect Client for Java DB2 Client Support MSQL-JDBC Driver Essential-JDBC DataDirect JDBC-ODBC Bridge JDBC Driver SHARE*NET SQL-Retriever WebDBC 3.0 Enterprise DbAnywhere VisiChannel for Java JdbcKona jdbckonat3 dbanywhere JDBC API SQL URL dbanywhere JDBC API java.* dbanywhere JDBC API Java Soft java.sql symjava.sql Driver Driver SQL JDBC Driver Driver connect( ) connect 9-4 Driver

266 Driver AcceptsURL Connect GetMajorVersion GetMinorVersion GetPropertyInfo JdbcCompliant URL Connection Driver JDBC Driver AcceptsURL( ) Driver URL String String URL Driver true false AcceptsURL( ) URL import symjava.sql.*; public class CheckURL public CheckURL( ) try String drivername = symantec.itools.db.jdbc.drive ; Driver dirver = (Driver)Class.forName(dirverName).newInstance( ); String dburl = jdbc:dbwq://localhost:8889/watcom/jdbc/jdbc ; //Check whether Driver can connect to URL if (driver.acceptsurl(dburl)) System.out.println( URL is valid ); else System.out.println( URL is not valid ); catch (Exception e)

267 254 public statid void main (String args[]) CheckURL app = new CheckURL( ); Driver connect( ) String String URL Driver Properties Driver connect( ) import symjava.sql.*; import java.util.*; public class Connect public Connect( ) try String drivername = "symantec.itools.db.jdbc.driver"; Driver driver = (Driver)Class.forName(dirverName).newInstance( ); //Create a properties object and username and password Properties p = new Properties( ); p.put("user","dba"); p.put("password","sql"); //Specify a URL for the database String dburl = "jdbc:dbaw://localhost:8889/watcom/jdbc"; Connection c = driver.connect(dburl,p); catch (Exception e) public static void main (String arg[]) Connect app = new Connect( );

268 255 getmajorversion( ) getminorversion( ) Driver Driver Driver import symjava.sql.*; public class Version public class Version( ) try String drivername = "symantec.itools.db.jdbc.driver"; Driver driver = (Driver)Class.forName(dirverName).newInstance( ); System.out.println("Driver version is"+ Interger.toString(driver.getMajorVersion( ))+ "."+Integer.toString(driver.getMinorVersion( ))); catch (Exception e) public static void main (String args[]) Version app = new Version( ); getpropertyinfo( ) Driver GetPropertyInfo( ) getpropertyinfo GetPropertyInfo import symjava.sql.*; import java.util.*;

269 256 public class DBProperty public DBProperty ( ) try String drivername = symantec.itools.db.jdbc.driver ; Driver driver = (Driver)Class.forName(dirverName).newInstance( ); String dburl = jdbc:dbaw://localhost:8889/watcom/jdbc/jdbc ; DriverPropertyInfo p[] = driver.getpropertyinfo(dburl,new Properties( )); for(int i = 0; i <p.length; i++) System.out.println( Required - + p[i].name); catch (Exception e) public static void main (String arg[]) DBProperty app = new DBProperty ( ); jdbccompliant( ) JDBC JDBC API ANSI SQL92 JDBC ANSI SQL92 SQL ANSI SQL92 Transact-SQL PSQL JdbcCompliant( ) JDBC Boolean b driver. JdbcCompliant( ); DriverManager DriverManager Driver DriverManager JDBC.Driver JDBC System setproperties( ) JDBC.Drivers setproperties( ) 9-5 DriverManager

270 DriverManager DeregisterDriver( ) GetConnection( ) GetDriver GetDrivers( ) GetLoginTimeout( ) GetLogStream( ) Println( ) RegisterDriver( ) SetLoginTimeout( ) SetLogStream( ) Driver URL Driver Driver Driver / Driver Driver / DriverManager DeregisterDriver( ) DriverManager Driver, RegisterDriver( ) RegisterDriver( ) DriverManager Driver Driver DriverManager. DeregisterDriver(symantec.itools.db.jdbc.Driver); DriverManager 3 Connection getconnection( ) URL Driver Driver Driver getconnection( ) getconnection( ) URL Properties Properties getconnection( ) 3 URL String DriverManager getconnection( )

271 258 import symjava.sql.*; import java.util.*; public class ManagerConnect public ManagerConnect ( ) try String drivername = "symantec.itools.db.jdbc.driver"; //set the log stream for the manager DriverManager.setLogStream(System.out); //get the current system properties Properties system = System.getProperties( ); System.put( jdbc.drivers,drivername); System.setProperties(system); //create the URL,usename and password strings String dburl = "jdbc:dbaw://localhost:8889/watcom/jdbc/jdbc"; String user = "dba"; Sring pass = "sql"; //create the connection Connection c = DriverManager.getConnection(dbURL,user,pass); catch (Exception e) public static void main (String arg[]) ManagerConnect app = new ManagerConnect ( ); DriverManager getdriver( ) DriverManager Driver URL getdriver( ) DriverManager Driver URL Driver getdriver( ) String dburl = "jdbc:dbaw://localhost:8889/watcom/jdbc/jdbc"; Driver driver DriverManager.getDriver(dbURL);

272 259 GetDrivers( ) DriverManager Driver DriverManager Driver Driver DriverManager Driver Driver driver[] DriverManager. GetDrivers( ); GetLoginTimeout( ) DriverManager Driver Driver Driver Driver int seconds DriverManager. GetLoginTimeout( ); getlogstream( ) DriverManager Driver logstream Driver System.out getlogstream( ) OutputStream ostream = DriverManager. GetLogStream( ); DriverManager Println( ) Println( ) DriverManager Println( ) Println( ) DriverManager. Println("Error connecting to database"); RegisterDriver( ) DriverManager Driver DriverManager URL DriverManager Driver import symjava.sql.*;

273 260 public class Register public Register ( ) try String drivername = "symantec.itools.db.jdbc.driver"; Driver driver = (Driver)Class.forName(dirverName).newInstance( ); DriverManager.registerDriver(driver); catch (Exception e) public static void main (String arg[]) Register app = new Register ( ); SetLoginTimeout( ) DriverManager Driver Driver 60 DriverManager. SetLoginTimeout(60); SetLogStream( ) DriverManager Driver / Driver DriverManager ERROR.DAT import symjava.sql.*; import.java.io.*; public class Logging public Logging ( ) try PrintStream p new PrintStream(new FileOutputStream "ERROR.DAT" ); DriverManager.setLogStream(p);

274 261 catch (Exception e) public static void main (String arg[]) Logging app = new Logging ( ); Java JDBC JDBC Java JDBC Sun JDBC-ODBC bridge Java ODBC ODBC Java Oracle Sybase MS SQL Server MS Access Access FAQ Access faq.mdb) Table faqs id Subject 200 Answers Control Panel ODBC Datasource System DSN faq faq.mdb JavaBeans faq.java \jswdk-1.0.1\webpages\web-inf\jsp\beans\test faq.java package test; import java.sql.*; public class faq String sdbdriver = "sun.jdbc.odbc.jdbcodbcdriver"; String sconnstr = "jdbc:odbc:faq"; Connection conn = null; ResultSet rs = null; public faq( ) try Class.forName(sDBDriver); catch(java.lang.classnotfoundexception e)

275 262 System.err.println("faq( ): " + e.getmessage( )); public ResultSet executequery(string sql) rs = null; try conn = DriverManager.getConnection(sConnStr); Statement stmt = conn.createstatement( ); rs = stmt.executequery(sql); catch(sqlexception ex) System.err.println("aq.executeQuery: " + ex.getmessage( )); return rs; Java faq.java \jswdk-1.0.1\webpages\test JSP faq.jsp <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> FAQ!</title> </head> <body> <p><b> FAQ!</b></p> <%@ page language="java" import="java.sql.*" %> <jsp:usebean id="workm" scope="page" class="test.faq" /> <% ResultSet RS = workm.executequery("select * FROM faqs"); String tt; while (RS.next( )) tt = RS.getString("Answer"); out.print("<li>" + RS.getString("Subject") + "</LI>"); out.print("<pre>" + tt + "</pre>"); RS.close( ); %> faq.jsp JavaBeans

276 263 JSP JavaBeans JDBC/ODBC 9.4 Java Servlet CGI Servlet CGI Servlet Web Web 1 2 Web Servlet Java Servlet Web Servlet Java Servlet Servlet JDBC Connection SQL DBConnectionManager DBConnectionPool JDBC Servlet DBConnectionPool (1) (2) (3) DBConnectionPool DBConnectionManager (1) JDBC

277 264 (2) (3) (4) Servlet DBConnectionManager.java 001 import java.io.*; 002 import java.sql.*; 003 import java.util.*; 004 import java.util.date; 006 / * DBConnectionManager */ /*. getinstance( ) */ 007 public class DBConnectionManager 008 static private DBConnectionManager instance; // 009 static private int clients; 010 private Vector drivers = new Vector( ); 011 private PrintWriter log; 012 private Hashtable pools = new Hashtable( ); 013 / *., */ / DBConnectionManager */ 014 static synchronized public DBConnectionManager getinstance( ) 015 if (instance = = null) 016 instance = new DBConnectionManager( ); 017 clients++; 018 return instance; 019 / * * / 020 private DBConnectionManager( ) 021 init( ); 022 / name * / con * / 023 public void freeconnection(string name, Connection con) 024 DBConnectionPool pool = (DBConnectionPool) pools.get(name); 025 if (pool!= null) 026 pool.freeconnection(con); 027 / * ().,,*/

278 265 Connection */ /* null * / 028 public Connection getconnection(string name) 029 DBConnectionPool pool = (DBConnectionPool) pools.get(name); 030 if (pool!= null) 031 return pool.getconnection( ); 032 return null; 033 / *.,, * / name * / Connection null * / 034 public Connection getconnection(string name, long time) 035 DBConnectionPool pool = (DBConnectionPool) pools.get(name); 036 if (pool!= null) 037 return pool.getconnection(time); 038 return null; 039 / *, * / 040 public synchronized void release( ) 041 // 042 if (--clients!= 0) 043 return; 044 Enumeration allpools = pools.elements( ); 045 while (allpools.hasmoreelements( )) 046 DBConnectionPool pool = (DBConnectionPool) allpools.nextelement( ); 047 pool.release( ); 048 Enumeration alldrivers = drivers.elements( ); 049 while (alldrivers.hasmoreelements( )) 050 Driver driver = (Driver) alldrivers.nextelement( ); 051 try 052 DriverManager.deregisterDriver(driver); 053 log(" JDBC " + driver.getclass( ).getname( )+""); 054 catch (SQLException e) 055 log(e, " JDBC : " + driver.getclass( ).getname( )); 056 / props * / 057 private void createpools(properties props)

279 Enumeration propnames = props.propertynames( ); 059 while (propnames.hasmoreelements( )) 060 String name = (String) propnames.nextelement( ); 061 if (name.endswith(".url")) 062 String poolname = name.substring(0, name.lastindexof(".")); 063 String url = props.getproperty(poolname + ".url"); 064 if (url = = null) 065 log("" + poolname + " URL"); 066 continue; 067 String user = props.getproperty(poolname + ".user"); 068 String password = props.getproperty(poolname + ".password"); 069 String maxconn = props.getproperty(poolname + ".maxconn", "0"); 070 int max; 071 try 072 max = Integer.valueOf(maxconn).intValue( ); 073 catch (NumberFormatException e) 074 log(" : " + maxconn + ".: " + poolname); 075 max = 0; 076 DBConnectionPool pool = 077 new DBConnectionPool(poolName, url, user, password, max); 078 pools.put(poolname, pool); 079 log(" " + poolname); 080 / * * / 081 private void init( ) 082 InputStream is = getclass( ).getresourceasstream("/db.properties"); 083 Properties dbprops = new Properties( ); 084 try 085 dbprops.load(is); 086 catch (Exception e) 087 System.err.println(". " " db.properties CLASSPATH "); 089 return; 090 String logfile = dbprops.getproperty("logfile", "DBConnectionManager.log"); 091 try 092 log = new PrintWriter(new FileWriter(logFile, true), true);

280 catch (IOException e) 094 System.err.println(" : " + logfile); 095 log = new PrintWriter(System.err); 096 loaddrivers(dbprops); 097 createpools(dbprops); 098 / * props * / 099 private void loaddrivers(properties props) 100 String driverclasses = props.getproperty("drivers"); 101 StringTokenizer st = new StringTokenizer(driverClasses); 102 while (st.hasmoreelements( )) 103 String driverclassname = st.nexttoken( ).trim( ); 104 try 105 Driver driver = (Driver) 106 Class.forName(driverClassName).newInstance( ); 107 DriverManager.registerDriver(driver); 108 drivers.addelement(driver); 109 log(" JDBC " + driverclassname); 110 catch (Exception e) 111 log(" JDBC : " driverclassname + ", : " + e); 113 / * * / 114 private void log(string msg) 115 log.println(new Date( ) + ": " + msg); 116 / * * / 117 private void log(throwable e, String msg) 118 log.println(new Date( ) + ": " + msg); 119 e.printstacktrace(log); 120 / *.,.*/ /*,.* / 121 class DBConnectionPool 122 private int checkedout; 123 private Vector freeconnections = new Vector( ); 124 private int maxconn; 125 private String name; 126 private String password; 127 private String URL;

281 private String user; 129 / *.@param name.@param URL JDBC URL.@param user */ /*, null.@param password, null.@param maxconn */ /* * / 130 public DBConnectionPool(String name, String URL, String user, String password, 131 int maxconn) 132 this.name = name; 133 this.url = URL; 134 this.user = user; 135 this.password = password; 136 this.maxconn = maxconn; 137 / con * / 138 public synchronized void freeconnection(connection con) 139 // 140 freeconnections.addelement(con); 141 checkedout--; 142 notifyall( ); 143 / *. * / /*,.,,* / / *. * / 144 public synchronized Connection getconnection( ) 145 Connection con = null; 146 if (freeconnections.size( ) > 0) 147 // 148 con = (Connection) freeconnections.firstelement( ); 149 freeconnections.removeelementat(0); 150 try 151 if (con.isclosed( )) 152 log(" " + name+" "); 153 //, 154 con = getconnection( ); 155 catch (SQLException e) 156 log(" " + name+" "); 157 //, 158 con = getconnection( ); 159 else if (maxconn = = 0 checkedout < maxconn) 160 con = newconnection( );

282 if (con!= null) 162 checkedout++; 163 return con; 164 / *. * / /* getconnection( ).@param timeout * / 165 public synchronized Connection getconnection(long timeout) 166 long starttime = new Date( ).gettime( ); 167 Connection con; 168 while ((con = getconnection( )) = = null) 169 try 170 wait(timeout); 180 catch (InterruptedException e) 181 if ((new Date( ).gettime( ) - starttime) >= timeout) 182 // wait( ) 183 return null; 184 return con; 185 / * * / 186 public synchronized void release( ) 187 Enumeration allconnections = freeconnections.elements( ); 188 while (allconnections.hasmoreelements( )) 189 Connection con = (Connection) allconnections.nextelement( ); 190 try 191 con.close( ); 192 log(" " + name+""); 193 catch (SQLException e) 194 log(e, " " + name+" "); 195 freeconnections.removeallelements( ); 196 / * * / 197 private Connection newconnection( ) 198 Connection con = null; 199 try 200 if (user = = null) 201 con = DriverManager.getConnection(URL);

283 else 203 con = DriverManager.getConnection(URL, user, password); 204 log("" + name+" "); 205 catch (SQLException e) 206 log(e, " URL : " + URL); 207 return null; 208 return con; 120~208 JDBC URL JDBC URL 3 jdbc odbc idb oracle jdbc:odbc:demo demo JDBC URL JDBC-ODBC Web JDBC URL DB 129~ ~ ~184 DB null freeconnections Vector getconnection( ) getconnection( ) isclosed( ) getconnection( ) freeconnections getconnection( ) maxconn 0

284 ~208 newconnection( ) JDBC DriverManager getconnection( ) JDBC URL DriverManager JDBC URL 164~184 getconnection( ) getconnection( ) while wait( ) wait( ) notify( ) notifyall( ) wait( ) getconnection( ) 137~142 freeconnection( ) freeconnections notifyall( ) Servlet DBConnectionManager DB 185~195 release( ) DBConnectionManager freeconnections 019~021 DBConnectionManager DBConnectionManager getinstance( ) 013~018 getinstance( ) instance getinstance( ) DBConnectionManager DBConnectionManager 080~097 init( ) getresourceasstream( ) CLASSPATH db.properties drivers JDBC

285 272 logfile <poolname>.url JDBC URL <poolname>.maxconn 0 <poolname>.user <poolname>.password URL Windows db.properties drivers=sun.jdbc.odbc.jdbcodbcdriver jdbc.idbdriver logfile=d:\\user\\src\\java\\dbconnectionmanager\\log.txt idb.url=jdbc:idb:c:\\local\\javawebserver1.1\\db\\db.prp idb.maxconn=2 access.url=jdbc:odbc:demo access.user=demo access.password=demopw Windows init( ) db.properties logfile DBConnectionManager.log System.err Drivers JDBC 098~113 loaddrivers( ) StringTokenizer drivers DriverManager Drivers Drivers DriverManager JDBC init( ) createpools( ) 109~142 createpools( ) Enumeration nextelement( ).url pools Hashtable pools DBConnectionManager getconnection( ) freeconnection( ) 027~ ~ ~ ~054 DBConnectionManager release( ) DBConnectionManager

286 273 getinstance( ) release( ) release( ) 0 release( ) release( ) JDBC 9.5 SQL main.jsp search.jsp main.jsp search.jsp main.jsp <html> <head> <title>main</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style>

287 274 <body bgcolor="#ffffff"> <form name="form1" method="post" onsubmit="return checkform(this)" action="search.jsp"> <div align="center"> <table width="300" border="1" cellspacing="2" bordercolor="#ff0066"> <tr> <td> <table width="300" border="0" cellspacing="0"> <tr bgcolor="#ff5d26"> <td colspan="2" height="38"> <div align="center"><b><font color="#ffffff" size="5"> </font></b></div> </td> </tr> <tr bgcolor="#ffd6c8"> <td colspan="2" height="21"> </td> </tr> <tr bgcolor="#ffd6c8"> <td width="43%"> <div align="center"> </div> </td> <td width="57%"> <select name="pclass"> <option value="0" selected> </option> <option value="1"> </option> <option value="2"> </option> <option value="3"> </option> </select> </td> </tr> <tr bgcolor="#ffd6c8"> <td width="43%"> <div align="center"> </div> </td> <td width="57%"> <input type="text" name="keyword" size="9"> </td> </tr> <tr bgcolor="#ffd6c8"> <td colspan="2"> <div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit2" value=" "> </div> </td>

288 275 </tr> </table> </td> </tr> </table> </div> </form> </body> </html> main.jsp SQL search.jsp // java.sql.* <%@ page import="java.sql.*" %>

289 276 // JavaBeans <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String pclass=request.getparameter("pclass").trim( ); String keyword=request.getparameter("keyword").trim( ); String classselect=""; if(pclass.compareto("0")!=0) classselect=" and inclass like '"+pclass+"'"; String keyselect="pname like '%"+keyword+"%'"; String sql="select * from product where "; sql=sql+keyselect+classselect+" order by pid desc"; ResultSet rs = jspex.executequery(sql); %> <html> <head> <title></title> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <table width="540" border="0"> <tr> <td width="25%"><b><font color="#ff0000"> </font></b></td> </tr> </table> <table width="540" border="0"> <tr bgcolor="#ff5d26"> <td width="150"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td> <td width="187"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td> <td width="189" bgcolor="#ff5d26"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td> </tr> <%

290 277 String pid; String pname; String inclass; String price; int wsh=0; while(rs.next( )) wsh++; pid=rs.getstring("pid"); pname=rs.getstring("pname"); inclass=rs.getstring("inclass"); price=rs.getstring("price"); %> <tr bgcolor="#ffd6c8"> <td width="150"> <div align="center"><%=pname%></div> </td> <td width="187"> <div align="center"> <% if(inclass.compareto("1")= =0) %> <% else if(inclass.compareto("2")= =0) %> <% else if(inclass.compareto("3")= =0) %> <% %> </div> </td> <td width="189" bgcolor="#ffd6c8"> <div align="center"> <%=price%></div> </td> </tr> <% rs.close( ); %> </table> </body> </html> keyselect classselect SQL sql=sql+keyselect+classselect+" order by pid desc"; ResultSet rs = jspex.executequery(sql); ResultSet getstring( ) ResultSet close( )

291 278 search.jsp

292 10 JSP MS SQL JSP JSP JavaBeans Java Script Java Servlet 10.1 MS SQL MS SQL Server 9.0 JSP JDBC JDBC-ODBC MS SQL Server 9.0 SQL Server Enterprise Manager Console Root Microsoft SQL Server Databases SQL Server Databases New Database jspex SQL Server Enterprise Manager Databases jspex Tables New Table 4 Custom Product Indent Prolist SQL Server Enterprise Manager Design Table Open Tables return all rows MS SQL Server 9.0 Query Analyzer SQL Product Pname Inclass Price Emagelink Introduce pid product SQL

293 280 CREATE TABLE [dbo].[ product]( [pid] [int] IDENTITY (1,1) NOT NULL, [pname] [nvarchar](50) NOT NULL, [inclass] [int](4) NOT NULL, [price] [int](6) NULL, [emagelink] [nvarchar](50) NULL, [introduce] [nvarchar](50) NULL, ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ID pid pid MS SQL Server 9.0 Query Analyzer jspex SQL Query Analyzer F5 jspex Product SQL Server Enterprise Manager Query Analyzer JSP SQL Win2000 ODBC DSN jspex MS SQL JSP JDBC-ODBC MSU SQL ODBC DSN SQL Server 10-2

294 281 SQL ServerjspEx SQL Server SQL Server SQL Server WinNT jspex 10-4

295 jspex JavaBeans opendb.java package opendb; import java.sql.*; public class opendb // jdbc.odbc String sdbdriver = "sun.jdbc.odbc.jdbcodbcdriver"; String sconnstr = "jdbc:odbc:jspex"; Connection conn = null; ResultSet rs = null; // public opendb( ) try Class.forName(sDBDriver); // catch(java.lang.classnotfoundexception e) System.err.println("opendb( ):" + e.getmessage( )); // SQL public ResultSet executequery(string sql)

296 283 rs = null; try conn = DriverManager.getConnection(sConnStr); Statement stmt = conn.createstatement( ); rs = stmt.executequery(sql); // catch(sqlexception ex) System.err.println("aq.executeQuery: " + ex.getmessage( )); return rs; [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ opendb opendb.java opendb.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\opendb.java JSP <%@ page language="java" import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% //sql String sql="select * from user"; //rs ResultSet ResultSet rs = jsqex.executequery(sql); if(rs.next( )) // // rs rs.close( ); JDBC ResultSet rs.next( ) rs.close( ) rs.close( ) 10.2

297 test.jsp Regist1.jsp Regist2.jsp Registok.jsp test.jsp test.jsp <SCRIPT language=javascript src="jslib.js" type=text/javascript> </SCRIPT> <SCRIPT language=javascript> function checkform(frm) var flag=true; if (isempty(frm.uid.value)) alert(" "); Frm.mail.focus( ); flag=false; return flag;

298 285 </SCRIPT><html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <form name="form" method="post" action="regist1.jsp" onsubmit="return checkform(this)"> <div align="center"> <table height="100" cellspacing=0 cellpadding=0 width="300" border=0> <tbody> <tr> <td height="257"> <table cellspacing=0 cellpadding=0 width="350" align=center border=0> <tbody> <tr bgcolor=#ff5d26> <td height=7> <div align="center"><b><font color="#ffffff"> </font></b></div> </td> </tr> <tr align=middle bgcolor="#ffd6c8"> <td height="26"> <div align="left">: <input name=uid> </div> </td> </tr> <tr align=middle bgcolor="#ffd6c8"> <td height="34"> <div align="center"> <table cellspacing=0 cellpadding=0 width=151 border=0> <tbody> <tr> <td valign=center align=middle width=78> <div align="right"> <input type="image" border="0" name="imagefield" src="image/ok.gif" width="42" height="18"> </div> </td>

299 286 <td align=middle width=73 colspan=2> <div align="right"><a href="main.jsp"> <img src="image/cancel.gif" width="42" height="18" border="0"></a></div> </td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> <table cellspacing=0 cellpadding=0 width="350" align=center border=0> <tbody> <tr> <td class=lemon1 width=533 height="2"><br> // </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div> </form> </body> </html> Java Script regist1.jsp 10-7 SQL <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String uid=request.getparameter("uid"); String sql="select * from custom where uid='"+uid+"'"; ResultSet rs = jspex.executequery(sql);

300 if(rs.next( )) rs.close( ); %> <SCRIPT language=javascript> alert(" "); self.location="test.jsp"; </SCRIPT> <% else %> // <% rs.close( ): %> regist1.jsp Password regist1.jsp <SCRIPT language=javascript> function checkform(frm) var flag=true; if(frm.password1.value.compareto(frm.password2.value)!=0)

301 288 alert(" "); Frm.password1.focus( ); flag=false; if(!is (frm.mail.value)) Frm.mail.focus( ); flag=false; if (isempty(frm.realname.value)) alert(" "); Frm.realname.focus( ); flag=false; if (isempty(frm.tel.value)) alert(" "); Frm.tel.focus( ); flag=false; return flag; </SCRIPT> regist2.jsp gender 01 Java Script javascript:history.back( ) 10-8 regist2.jsp <% String uid=request.getparameter("uid"); String realname=request.getparameter("realname"); String password=request.getparameter("password1"); String mail=request.getparameter("mail"); String education=request.getparameter("education");

302 String gender=request.getparameter("gender"); String age=request.getparameter("age"); String marital=request.getparameter("marital"); String occupation=request.getparameter("occupation"); String tel=request.getparameter("tel"); %> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <p align="center"> </p> <form action="registok.jsp" method="post" name="form" onsubmit="return checkform(this)"> <div align="center"> <table bgcolor="#f2f1d7" width="450" cellspacing="2"> <tr> <td valign="middle" align="left" width="33%" bgcolor="#ff5d26" > <font color="#ffffff"></font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"> <input type="hidden" name="uid" value="<%=uid%>"> <input type="hidden" name="realname" value="<%=realname%>"> <input type="hidden" name="password" value="<%=password%>"> <input type="hidden" name="mail" value="<%=mail%>">

303 290 <input type="hidden" name="education" value="<%=education%>"> <input type="hidden" name="gender" value="<%=gender%>"> <input type="hidden" name="age" value="<%=age%>"> <input type="hidden" name="marital" value="<%=marital%>"> <input type="hidden" name="occupation" value="<%=occupation%>"> <input type="hidden" name="tel" value="<%=tel%>"><%=uid%></td> </tr> <tr> <td valign="middle" align="left" width="35%" bgcolor="#ff5d26"> <font color="#ffffff" > </font></td> <td colspan="2" bgcolor="#ffd6c8" ><%=mail%> </td> </tr> <tr> <td valign="middle" align="left" width="33%" bgcolor="#ff5d26" > <font color="#ffffff"> :</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"><%=realname%> </td> </tr> <tr> <td valign="middle" align="left" width="33%" bgcolor="#ff5d26" > <font color="#ffffff"> :</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"><% if(gender.compareto("0")= =0) %> <% else %> <% %> </td> </tr> <tr> <td valign="middle" align="left" bgcolor="#ff5d26" width="33%" height="8"> <font color="#ffffff"> :</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%" height="8"> <%=age%> </td> </tr> <tr> <td valign="middle" align="left" bgcolor="#ff5d26" width="33%"> <font color="#ffffff">:</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"> <% if(education.compareto("6")= =0) %><% else if(education.compareto("0")= =0) %> <% else if(education.compareto("1")= =0) %> <% else if(education.compareto("2")= =0) %> <% else if(education.compareto("3")= =0) %> <% else if(education.compareto("4")= =0) %> <%

304 291 else if(education.compareto("5")= =0) %> <% %> </td> </tr> <tr> <td valign="middle" align="left" bgcolor="#ff5d26" width="33%"> <font color="#ffffff"> :</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"> <% if(marital.compareto("2")= =0) %><% else if(marital.compareto("0")= =0) %> <% else if(marital.compareto("1")= =0) %> <% %> </td> </tr> <tr> <td valign="middle" align="left" bgcolor="#ff5d26" width="33%"> <font color="#ffffff"> :</font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"> <% if(occupation.compareto("10")= =0) %><% else if(occupation.compareto("0")= =0) %><% else if(occupation.compareto("1")= =0) %> <% else if(occupation.compareto("2")= =0) %> <% else if(occupation.compareto("3")= =0) %> <% else if(occupation.compareto("4")= =0) %><% else if(occupation.compareto("5")= =0) %><% else if(occupation.compareto("6")= =0) %> <% else if(occupation.compareto("7")= =0) %> <% else if(occupation.compareto("8")= =0) %> <% else if(occupation.compareto("9")= =0) %> / / <% %> </td> </tr> <tr> <td valign="middle" align="left" bgcolor="#ff5d26" width="33%"> <font color="#ffffff"> </font></td> <td colspan="2" bgcolor="#ffd6c8" width="67%"> <%=tel%></td> </tr> </table> </div> <div align="center"> <table width="250" border="0" height="13"> <tr>

305 292 <td width="162" height="2"> <input type="submit" name="submit" value=" "> </td> <td width="99" height="2"> <div align="center"><a href="javascript:history.back( )"> </a></div> </td> </tr> </table> </div> </form> </body> </html> registok.jsp SQL Insert Insert insert formname (field1[,field2 ]) values(value1 [,value2 ]) formname Custom Field UID Password Value registok.jsp page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String uid=request.getparameter("uid"); String realname=request.getparameter("realname"); String password=request.getparameter("password"); String mail=request.getparameter("mail"); String education=request.getparameter("education"); String gender=request.getparameter("gender");

306 293 </p> String age=request.getparameter("age"); String marital=request.getparameter("marital"); String occupation=request.getparameter("occupation"); String tel=request.getparameter("tel"); String sql="insert custom (uid,realname,password,mail,education,gender,age,marital,occupation,tel) values(\'"+uid+"\',\'"+realname+"\',\'"+password+"\',\'"+mail+"\',\'"+ education+"\',\'"+gender+"\',\'"+age+"\',\'"+marital+"\',\'"+occupation+ "\',\'"+tel+"\')"; ResultSet rs = jspex.executequery(sql); session.putvalue("uid",uid); %> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <div align="center"> <p><b><font color="#ff0066"><%=uid%></font></b> <p><a href="main.jsp"> </a> </p> </div> </body> </html> Session Session logon.html logon.jsp Session Session logon.jsp

307 logon.jsp <title> </title> <body bgcolor="#ffffff"> page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String uid=request.getparameter("uid"); String password=request.getparameter("password"); String sql="select * from custom where uid='"+uid+"' and password='"+password+"'"; ResultSet rs = jspex.executequery(sql); if(rs.next( )) rs.close( ); session.putvalue("uid",uid); %> <SCRIPT language=javascript> alert(" "); self.location="main.jsp"; </SCRIPT> <% else rs.close( ); %> <SCRIPT language=javascript> alert(""); self.location="logon.html"; </SCRIPT> <%%>

308 295 Session <% String uid=(string) session.getvalue("uid"); if(uid= =null uid= ="") %> <SCRIPT language=javascript> alert(" "); self.location="logon.html"; </SCRIPT> <% else %> // <%%> editinf.html editinf1.jsp editinf2.jsp

309 296 editinf1.jsp page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String uid=request.getparameter("uid"); String password=request.getparameter("password"); String sql="select * from custom where uid='"+uid+"' and password='"+password+"'"; ResultSet rs = jspex.executequery(sql); if(!rs.next( )) %> <SCRIPT language=javascript> alert(""); self.location="editinf.html"; </SCRIPT> <% rs.close( ); sql="select * from custom where uid ='"+uid+"'"; rs = jspex.executequery(sql); if(rs.next( )) String realname=rs.getstring("realname").trim( ); String gender=rs.getstring("gender").trim( ); String age=rs.getstring("age").trim( ); String education=rs.getstring("education").trim( ); String marital=rs.getstring("marital").trim( ); String occupation=rs.getstring("occupation").trim( ); String mail=rs.getstring("mail").trim( ); String tel=rs.getstring("tel").trim( ); %> gender <% String gender =rs.getstring("gender ").trim( );%> <input type="radio" name="gender" value="0" <% if(gender.compareto("0")= =0) out.print("checked"); %>> <span > </span> <input type="radio" name="gender" value="1" <% if(gender.compareto("1")= =0) out.print("checked"); %>> <span > </span>

310 297 check SQL trim( ) Select Select Select <% String education =rs.getstring("education ").trim( );%> <select name="education" size="1"> <option value="<%=education%>"><% if(education.compareto("6")= =0) %><% else if(education.compareto("0")= =0) %> <% else if(education.compareto("1")= =0) %> <% else if(education.compareto("2")= =0) %> <% else if(education.compareto("3")= =0) %> <% else if(education.compareto("4")= =0) %> <% else if(education.compareto("5")= =0) %> <% %></option> <option value="0"> </option> <option value="1"> </option> <option value="2"> </option> <option value="3"> </option> <option value="4"> </option> <option value="5"> </option> </select> Text HTML <% String age =rs.getstring("age").trim( );%> <input type="text" name="age" size="4" maxlength="4" value="<%out.print(age);%>" > SQL Update Update update form set field1=value1[,field2=value2 ] editinf2.jsp <%@ page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" />

311 298 <% String uid=request.getparameter("uid"); String realname=request.getparameter("realname"); String password=request.getparameter("password1"); String mail=request.getparameter("mail"); String education=request.getparameter("education"); String gender=request.getparameter("gender"); String age=request.getparameter("age"); String marital=request.getparameter("marital"); String occupation=request.getparameter("occupation"); String tel=request.getparameter("tel"); String sql="update custom set realname=\'"+realname+"\',password=\'"+password+"\',mail=\'"+mail+"\', education=\'"+education+"\',gender=\'"+gender+"\',age=\'"+age+"\', marital=\'"+marital+"\',occupation=\'"+occupation+"\',tel=\'"+ tel+"\' where uid=\'"+uid+"\'"; ResultSet rs = jspex.executequery(sql); %> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <div align="center"> <p><b><font color="#ff0066"><%=realname%></font></b> </p> <p><a href="main.jsp"> </a> </p> </div> </body> </html> Session uid Session Session String uid=(string) session.getvalue("uid");

312 299 Session getvalue logout.jsp <title> </title> <body bgcolor="#ffffff"> <% String uid=(string) session.getvalue("uid"); if(uid= =null uid="") %> <SCRIPT language=javascript> alert(" "); self.location="main.jsp"; </SCRIPT> <% else session.putvalue("uid",""); %> <SCRIPT language=javascript> alert(" "); self.location="main.jsp"; </SCRIPT> <%%> SQL

313 main.jsp <SCRIPT language=javascript src="jslib.js" type=text/javascript> <SCRIPT language=javascript> function checkform(frm) var flag=true; if (isempty(frm.keyword.value)) alert(" "); Frm.keyword.focus( ); flag=false; return flag; </SCRIPT> <html> <head> <title>main</title>

314 301 <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <table width="640" border="0"> <tr> <td width="401"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="2" height="10"><b><span class=eng><font color="#330099"><img align=absmiddle height=25 src="image/reg.gif" width=24></font></span><font color="#330099"> </font></b></td> </tr> <tr align="center" valign="middle"> <td><img src="image/goods_01.gif" width="74" height="80"></td> <td><img src="image/goods_02.gif" width="120" height="80"></td> </tr> <tr> <td height="31"> <div align="center"><font color="#ff33ff"> </font></div> </td> <td height="31"> <div align="center"><font color="#ff33ff"> </font></div> </td> </tr> <tr align="center" valign="middle"> <td><img src="image/goods_03.gif" width="92" height="80"></td> <td><img src="image/goods_04.gif" width="120" height="80"></td> </tr> <tr> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> </tr> <tr align="center" valign="middle">

315 302 <td><img src="image/goods_05.gif" width="79" height="80"></td> <td><img src="image/goods_06.gif" width="114" height="80"></td> </tr> <tr> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> </tr> <tr> <td height="30"> <div align="center"><img src="image/goods_04.gif" width="120" height="80"></div> </td> <td height="30"> <div align="center"><img src="image/goods_03.gif" width="92" height="80"></div> </td> </tr> <tr> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> <td height="30"> <div align="center"><font color="#ff33ff"> </font></div> </td> </tr> </table> </td> <td width="229"> <table width="100%" border="0" height="36%"> <tr> <td height="22"> <div align="center"> <% String flag="0"; session.putvalue("flag",flag); String uid=(string) session.getvalue("uid"); if(uid= =null uid= ="") %> <% else %>

316 303 <b><font color="#ff3366"><%=uid%></font></b> <%%> </div> </td> </tr> <tr> <td> <div align="center"></div> </td> </tr> <tr> <td> <div align="left"><b><span class=eng><font color="#330099"><img align=absmiddle height=25 src="image/reg.gif" width=24></font></span><font color="#330099"> </font></b></div> </td> </tr> <tr> <td height="57"> <div align="center"> <form name="form1" method="post" onsubmit="return checkform(this)" action="search.jsp"> <table width="100%" border="0"> <tr> <td width="43%"> <div align="left"> </div> </td> <td width="57%"> <select name="pclass"> <option value="0" selected> </option> <option value="1"> </option> <option value="2"> </option> <option value="3"> </option> </select> </td> </tr> <tr> <td width="43%"> </td> <td width="57%"> <input type="text" name="keyword" size="9"> </td> </tr> <tr>

317 304 <td colspan="2"> <div align="center"> <input type="submit" name="submit" value=" "> </div> </td> </tr> </table> </form> </div> </td> </tr> <tr> <td height="13"> </td> </tr> <tr> <td height="57"> <table width="100%" border="0"> <tr> <td><b><span class=eng><font color="#330099"><img align=absmiddle height=25 src="image/reg.gif" width=24></font></span><font color="#330099"> </font></b></td> </tr> <tr> <td><a href="link"> </a><br> <a href="link"> </a><br> <a href="link"> </a></td> </tr> <tr> <td><br> Copyright<span class=font>&copy</span> <br> Amao.com </td> </tr> <tr> <td> <p><br> <br> <a </p> </td> </tr> </table> </td> </tr>

318 305 </table> </td> </tr> </table> </body> </html> pclass keyword search.jsp SQL SQL String pclass=request.getparameter("pclass").trim( ); String keyword=request.getparameter("keyword").trim( ); String classselect=""; if(pclass.compareto("0")!=0) classselect=" and inclass like '"+pclass+"'"; String keyselect="pname like '%"+keyword+"%'"; String sql="select pid from product where "; sql=sql+keyselect+classselect+" order by pid desc"; session.putvalue("keyselect",keyselect); session.putvalue("classselect",classselect); ResultSet rs = jspex.executequery(sql); and and SQL inclass like ' ' SQL ResultSet rs = jspex.executequery(sql); out.print(sql); SQL Query Analyzer Query Analyzer SQL out.print(sql); SQL 0 0

319 306 Page Page JavaBeans page.java package page; public class Page public int pagecount; public int recordcount; public int pageid; public int pagesize; [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ page page.java page.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\page.java JSP Page search.jsp Page mypage JSP page mypage Page Session JSP next( ) RusultSet RusultSet previous( )RusultSet next( ) Statement getresultset( ) ResultSet Vector idlist mypage.recordcount=0; mypage.pagesize=15; mypage.pagecount=0; mypage.pageid=1; Vector idlist=new Vector( ); while(rs.next( )) mypage.recordcount++; if(mypage.recordcount= =mypage.pagesize) mypage.pagecount++; idlist.addelement(rs.getstring("pid")); mypage.recordcount=0;

320 307 if(mypage.recordcount!=0) mypage.pagecount++; mypage.recordcount+=(mypage.pagecount-1)*mypage.pagesize; rs.close( ); session.putvalue("idlist",idlist); session.putvalue("mypage",mypage); pid idlist pid order by pid desc pid Vector idlist=(vector) session.getvalue("idlist"); String getlist=""; if(pageid>1) getlist=(string) idlist.elementat(pageid-2); getlist="and pid<"+getlist; String keyselect=(string) session.getvalue("keyselect"); String classselect=(string) session.getvalue("classselect"); String sql="select top "+mypage.pagesize+" * from product where "; sql=sql+keyselect+classselect+getlist+" order by pid desc"; ResultSet rs = jspex.executequery(sql); mypage.pagesize SQL mypage.pagesize pid pid pageid search.jsp <SCRIPT language=javascript src="jslib.js" type=text/javascript> <SCRIPT language=javascript> function checkform(frm) var flag=true; if (!isint(frm.pageid.value)) alert(" "); Frm.pageId.focus( ); flag=false; return flag; </SCRIPT>

321 <script language="javascript"> function cw(a) window.open ("detail.jsp?pid="+a, "MyWindow", "toolbar=no, left=150, top=280, width=500,height=230,menubar=no, systemmenu=no"); </script> page import="java.sql.*" %> page import="page.page" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String flag=(string) session.getvalue("flag"); if(flag.compareto("0")= =0) Page mypage = new Page( ); String pclass=request.getparameter("pclass").trim( ); String keyword=request.getparameter("keyword").trim( ); String classselect=""; if(pclass.compareto("0")!=0) classselect=" and inclass like '"+pclass+"'"; String keyselect="pname like '%"+keyword+"%'"; String sql="select pid from product where "; sql=sql+keyselect+classselect+" order by pid desc"; session.putvalue("keyselect",keyselect); session.putvalue("classselect",classselect); ResultSet rs = jspex.executequery(sql);

322 309 mypage.recordcount=0; mypage.pagesize=15; mypage.pagecount=0; mypage.pageid=1; Vector idlist=new Vector( ); while(rs.next( )) mypage.recordcount++; if(mypage.recordcount= =mypage.pagesize) mypage.pagecount++; idlist.addelement(rs.getstring("pid")); mypage.recordcount=0; if(mypage.recordcount!=0) mypage.pagecount++; mypage.recordcount+=(mypage.pagecount-1)*mypage.pagesize; rs.close( ); session.putvalue("flag","1"); session.putvalue("idlist",idlist); session.putvalue("mypage",mypage); %> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <% boolean pageerror=false; Page mypage =(Page) session.getvalue("mypage"); if(mypage.recordcount<=0) %> <% else String getpage=request.getparameter("pageid"); int pageid=mypage.pageid;

323 310 if(getpage!=null&&getpage!="") pageid=integer.parseint(getpage.trim( )); if(pageid<1 pageid>mypage.pagecount) pageid=mypage.pageid; pageerror=true; mypage.pageid=pageid; Vector idlist=(vector) session.getvalue("idlist"); String getlist=""; if(pageid>1) getlist=(string) idlist.elementat(pageid-2); getlist="and pid<"+getlist; String keyselect=(string) session.getvalue("keyselect"); String classselect=(string) session.getvalue("classselect"); String sql="select top "+mypage.pagesize+" * from product where "; sql=sql+keyselect+classselect+getlist+" order by pid desc"; ResultSet rs = jspex.executequery(sql); %> <br> <table width="540" border="0"> <tr> <td width="25%"><b><font color="#ff0000"> </font></b> <b><font color="#ff0000"><%=mypage.recordcount%></font></b> </td> <td width="30%"><%if(pageerror) %> <%%></td> <td width="45%"> <b><font color="#ff0000"><%=mypage.pagecount%></font></b> <b><font color="#ff0000"><%=mypage.pageid%></font></b> </td> </tr> </table> <table width="540" border="0"> <tr bgcolor="#ff5d26"> <td width="52"> <div align="center"><font color="#ffffff"><b></b></font></div> </td> <td width="154"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td> <td width="159"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td> <td width="157" bgcolor="#ff5d26"> <div align="center"><font color="#ffffff"><b> </b></font></div> </td>

324 311 </tr> <% String pid; String pname; String inclass; String price; int wsh=0; while(rs.next( )) wsh++; pid=rs.getstring("pid"); pname=rs.getstring("pname"); inclass=rs.getstring("inclass"); price=rs.getstring("price"); %> <tr bgcolor="#ffd6c8"> <td width="52"> <div align="center"><%=wsh%></div> </td> <td width="154"> <div align="center"> <a href="javascript:cw(<%=pid%>)"><%=pname%></a></div> </td> <td width="159"> <div align="center"> <% if(inclass.compareto("1")= =0) %> <% else if(inclass.compareto("2")= =0) %> <% else if(inclass.compareto("3")= =0) %> <% %></div> </td> <td width="157" bgcolor="#ffd6c8"> <div align="center"> <%=price%></div> </td> </tr> <% rs.close( ); %> </table> <table width="540" border="0"> <tr> <td width="133"> </td> <td width="397"> <form name="form1" action="search.jsp" method="post"

325 312 onsubmit="return checkform(this)"> <% if(pageid!=1) %> <a href="search.jsp?pageid=1"></a> <a href="search.jsp?pageid=<%=pageid-1%>"></a> <% else %> <% if(pageid!=mypage.pagecount) %> <a href="search.jsp?pageid=<%=pageid+1%>"></a> <a href="search.jsp?pageid=<%=mypage.pagecount%>"> </a> <% else %> <%%> <input type="text" name="pageid" size="5"> <b><font color="#ff0000"><%=pageid%></font></b>/ <b><font color="#ff0000"><%=mypage.pagecount%></font></b> </form> </td> </tr> </table> <%%> </body> </html>

326 313 pid <script language="javascript"> function cw(a) window.open ("detail.jsp?pid="+a, "MyWindow", "toolbar=no, left=150, top=280, width=500,height=230,menubar=no, systemmenu=no"); </script> <a href="javascript:cw(<%=pid%>)"><%=pname%></a></div> <%=pname%><%=pid%> pid 30 HTML cw(30) Java Script detail.jsp?pid=30 detail.jsp detail.jsp page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <% String pid=request.getparameter("pid"); String sql="select * from product where "; sql=sql+"pid="+pid; ResultSet rs = jspex.executequery(sql); %> <html> <head>

327 314 <title></title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <% String pname; String inclass; String price; String emagelink; String introduce; if(rs.next( )) pid=rs.getstring("pid"); pname=rs.getstring("pname"); inclass=rs.getstring("inclass"); price=rs.getstring("price"); emagelink=rs.getstring("emagelink"); introduce=rs.getstring("introduce"); %> <font color="#ff3399" size="5"><b></b></font> <br> <br> <table width="458" border="1" bordercolor="#ff3333"> <tr> <td width="49"></td> <td width="151"><%=pname%></td> <td width="83"></td> <td width="147"> <%=price%></td> </tr> <tr> <td width="49"></td> <td width="151"> <% if(inclass.compareto("1")= =0) %> <% else if(inclass.compareto("2")= =0) %> <% else if(inclass.compareto("3")= =0) %> <% %> </td> <td width="83"></td> <td width="147"><%=introduce%></td> </tr> <tr> <td rowspan="2" width="49"></td>

328 315 <td colspan="3" rowspan="2"><img src="<%=emagelink%>" width="92" height="80" ></td> </tr> <tr> </tr> </table> <table width="459" border="0" height="21"> <tr> <td width="123"> </td> <td width="96"><a href="javascript:window.close( )"> </a></td> <td width="111"><a href="add.jsp?pid=<%=pid%>"> </a></td> <td width="111"> </td> </tr> </table> <h5> </h5> </body> </html> <% rs.close( ); %> buylist JavaBeans buylist.java package buylist; public class buylist public String pname; public int pid; public int price; public int number; public String uid;

329 316 [x:]\jswdk-1.0.1\webpages\web-inf\jsp\beans\ buylist buylist.java buylist.java javac f:\jswdk-1.0.1\webpages\web-inf\jsp\beans\counter\buylist.java JSP buylist buylist pname pid price number uid Vector shop Session Shop 1 Shop Session <title> </title> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <%@ page import="java.sql.*" %> <jsp:usebean id="jspex" scope="page" class="opendb.opendb" /> <div align="center"><%@ page import="buylist.buylist" %> </div> <div align="center"><% String pid=request.getparameter("pid"); String uid=(string) session.getvalue("uid"); String pname=""; String price=""; if(uid= =null) %> <SCRIPT language=javascript> alert(""); self.location="detail.jsp?pid=<%=pid%>"; </SCRIPT>

330 317 </div> <div align="center"><% String sql="select * from product where "; sql=sql+"pid="+pid; ResultSet rs = jspex.executequery(sql); if(rs.next( )) pname=rs.getstring("pname"); price=rs.getstring("price"); buylist mylist=new buylist( ); mylist.pname=pname; mylist.pid=integer.parseint(pid); mylist.price=integer.parseint(price); mylist.uid=uid; mylist.number=1; boolean listflag=true; Vector shop=(vector) session.getvalue("shop"); if (shop= =null) shop = new Vector( ); else for (int i=0;i<shop.size( ); i++) buylist list = (buylist) shop.elementat(i); if(list.pid= =mylist.pid) list.number++; shop.setelementat(list,i); listflag=false; if(listflag) shop.addelement(mylist); session.putvalue("shop",shop); rs.close( ); %> <!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <b><font size="4" color="#ff0033"> </font></b><br> <br> <a href="javascript:window.close( )"> </a> <a href="list.jsp" target="_blank" onclick="javascript:window.close( )"> </a></div>

331 Text 0 list.jsp <script language="javascript"> function cw(a) window.open ("detail.jsp?pid="+a, "MyWindow", "toolbar=no, left=150, top=280, width=500,height=230,menubar=no, systemmenu=no"); </script> <title> </title> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <%@ page import="buylist.buylist" %> <%

332 319 String uid=(string) session.getvalue("uid"); if(uid= =null) %> <SCRIPT language=javascript> alert(""); window.close( ); </SCRIPT> <% Vector shop=(vector) session.getvalue("shop"); if (shop= =null shop.size( )= =0) %> <SCRIPT language=javascript> alert("!"); window.close( ); </SCRIPT> <%%><!--Copyright Beijing University of Aeronautics and Astronautics Chen Wu--> <b><font color="#ff0000"><%=uid%></font></b> <br> <form name="form1" method="post" action="modify.jsp"> <table width="540" border="0"> <tr bgcolor="#ff5d26"> <td width="54"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="168"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="128"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="172"> <div align="center"><font color="#ffffff"> </font></div> </td> </tr><% for(int i=0;i<shop.size( );i++) buylist mylist = (buylist) shop.elementat(i); %> <tr bgcolor="#ffd6c8"> <td width="54"> <div align="center"><%=i+1%> </div> </td> <td width="168">

333 320 <div align="center"> <a href="javascript:cw(<%=mylist.pid%>)"><%=mylist.pname%></a></div> </td> <td width="128"> <div align="center"> <%=mylist.price%></div> </td> <td width="172"> <div align="center"> <input type="text" name="num<%=i%>" size="7" value="<%=mylist.number%>"> </div> </td> </tr> <%%> </table> <table width="540" border="0"> <tr> <td width="150"> </td> <td width="86"> <input type="submit" name="submit" value=" "> </td> <td width="101"> </td> <td width="185"><a href="clear.jsp"> </a> <a href="javascript:window.close( )"> </a> <a href="check.jsp"> </a></td> </tr> </table> </form> modify.jsp clear.jsp modify.jsp list.jsp shop

334 321 modify.jsp page import="buylist.buylist" %> <% Vector shop=(vector) session.getvalue("shop"); Vector newshop=new Vector( ); for(int i=0;i<shop.size( );i++) buylist mylist = (buylist) shop.elementat(i); String getnum=request.getparameter("num"+i); int newnum=integer.parseint(getnum); mylist.number=newnum; if(newnum!=0) newshop.addelement(mylist); session.putvalue("shop",newshop); %> <script language="javascript"> self.location="list.jsp"; </script> clear.jsp <%@ page import="buylist.buylist" %> <% Vector newshop=new Vector( ); session.putvalue("shop",newshop); %> <style type="text/css"> "css/cssset.css"; --> </style><title> </title> <body bgcolor="#ffffff"> <p> </p> <p><a href="javascript:window.close( )"> </a> </p> check.jsp <jsp:usebean id="jspex" scope="page" class="opendb.opendb" />

335 page import="java.sql.*" %> page import="buylist.buylist" %> <title> </title> <style type="text/css"> "css/cssset.css"; --> </style> <body bgcolor="#ffffff"> <% String uid=(string) session.getvalue("uid"); String sql1="insert indent (uid) values(\'"+uid+"\')"; ResultSet rs1 = jspex.executequery(sql1); int iid=1; int total=0; sql1="select top 1 iid from indent order by iid desc"; rs1 = jspex.executequery(sql1); if(rs1.next( )) iid=rs1.getint("iid"); rs1.close( ); Vector shop=(vector) session.getvalue("shop"); %> <b><font color="#ff0000"><%=uid%></font></b><br> <table width="540" border="0"> <tr bgcolor="#ff5d26"> <td width="54" height="20"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="168" height="20"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="128" height="20"> <div align="center"><font color="#ffffff"> </font></div>

336 323 </td> <td width="172" height="20"> <div align="center"><font color="#ffffff"> </font></div> </td> <td width="172" height="20"> <div align="center"><font color="#ffffff"> </font></div> </td> </tr> <% for(int i=0;i<shop.size( );i++) buylist mylist = (buylist) shop.elementat(i); sql1="insert prolist (iid,pid,number) values('"+iid+"','"+mylist.pid+"','"+mylist.number+"')"; ResultSet rs2=jspex.executequery(sql1); %> <tr bgcolor="#ffd6c8"> <td width="54"> <div align="center"><%=i+1%> </div> </td> <td width="168"> <div align="center"> <%=mylist.pname%></div> </td> <td width="128"> <div align="center"><%=mylist.price%></div> </td> <td width="172"> <div align="center"> <%=mylist.number%> </div> </td> <td width="172"> <div align="center"> <%=mylist.number*mylist.price%></div> </td> </tr> <% total+=mylist.number*mylist.price; Vector newshop=new Vector( ); session.putvalue("shop",newshop); %> </table> <table width="540" border="0"> <tr> <td width="263"> <font color="#ff3366"> <b> <%=total%></b></font></td>

337 324 <td width="267"> <div align="center"><a href="javascript:window.close( )"> </a></div> </td> </tr> </table> *.css webpages\database\ cssset.css webpages\database\css <style type="text/css"> "css/cssset.css";--> </style> cssset.css big FONT: 14px " ", "" font FONT: 12px " ", "" TD FONT: 12px " ", "" A.title COLOR: #ff0000; TEXT-DECORATION: underline A.title:hover COLOR: #660000; TEXT-DECORATION: none eng FONT: 12px "Verdana", "Arial", "Helvetica", "sans-serif" input BORDER-BOTTOM: # px ridge; BORDER-LEFT: #cccccc 1px ridge; BORDER-RIGHT: # px ridge; BORDER-TOP: #cccccc 1px ridge A.left COLOR: #330099; LINE-HEIGHT: 14px; TEXT-DECORATION: none

338 325 A.left:hover COLOR: #000000; LINE-HEIGHT: 14px; TEXT-DECORATION: underline A COLOR: #336699; FONT: 12px " ", ""; TEXT-DECORATION: none A:hover COLOR: #0000ff; TEXT-DECORATION: underline line LINE-HEIGHT: 15pt HTML Frontpage Dreamweaver Dreamweaver Text CSS Style Edit Style Sheet logo frame index.jsp topframe leftframe mainframe index.jsp <html>

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

RUN_PC連載_10_.doc

RUN_PC連載_10_.doc PowerBuilder 8 (10) Jaguar CTS ASP Jaguar CTS PowerDynamo Jaguar CTS Microsoft ASP (Active Server Pages) ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar Server ASP

More information

epub 61-2

epub 61-2 2 Web Dreamweaver UltraDev Dreamweaver 3 We b We b We Dreamweaver UltraDev We b Dreamweaver UltraDev We b We b 2.1 Web We b We b D r e a m w e a v e r J a v a S c r i p t We b We b 2.1.1 Web We b C C +

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2. 2005-06 p.1 HTML HyperText Mark-up Language 1. HTML Logo, Pascal, C++, Java HTML 2. HTML (tag) 3. HTML 4. HTML 1. HTML 2. 3. FTP HTML HTML html 1. html html html cutehtmleasyhtml 2. wyswyg (What you see

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

Servlet

Servlet Servlet Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 Huihoo - Enterprise Open Source http://www.huihoo.com 2 GET POST Huihoo

More information

untitled

untitled 01 1-1 PHP 1-2 PHP 1-3 MySQL 1-4 1-5 http://w3techs.com/technologies/history_overview/programming_language w3techs.com (Server-side) 2012 7 77.8% PHP PHP PHP PHP 1-1 PHP PHP HTML Script Windows ASP(Active

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ 第 四 章 Filter( 过 滤 器 ) 样 题 A 卷 一 选 择 题 ( 每 小 题 2 分, 共 20 分 ) 1 下 面 选 项 中, 用 于 实 现 初 始 化 过 滤 器 的 方 法 是 ( ) A init(filterconfig filterconfig) B dofilter(servletrequest req,servletresponse resp,filterchain

More information

<4D6963726F736F667420576F7264202D20383439342D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

<4D6963726F736F667420576F7264202D20383439342D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63> 第 4 单 元 搭 建 自 己 的 Web 站 点 本 单 元 通 过 学 习 架 构 Web 服 务 器, 实 现 Web 服 务, 管 理 Web 站 点, 了 解 Web 站 点 服 务 器 的 架 构 个 人 空 间 和 虚 拟 主 机 的 概 念, 掌 握 IIS 组 件 的 安 装 Web 站 点 的 创 建 管 理 站 点 属 性 选 项 卡 的 配 置 管 理 等 知 识,Web 网

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费 助 理 电 子 商 务 考 试 真 题 试 题 第 一 部 分 : 理 论 部 分 一 单 项 选 择 题 1 ( B ) 是 信 息 系 统 的 核 心 组 成 部 分 A 逻 辑 模 型 B 数 据 库 C 概 念 模 型 D 以 上 全 部 2 ping www.163.com -t 中 参 数 t 的 作 用 是 :( A ) A 进 行 连 续 测 试 B 在 新 窗 口 中 显 示 C

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

XXXXXXXX http://cdls.nstl.gov.cn 2 26

XXXXXXXX http://cdls.nstl.gov.cn 2 26 [ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10

More information

SiteView技术白皮书

SiteView技术白皮书 SiteView ECC V6.2 技 术 白 皮 书 游 龙 网 络 科 技 ( 中 国 ) 有 限 公 司 DragonFlow Networks(China),Inc. 目 录 第 一 章 产 品 概 述... 3 第 二 章 系 统 结 构... 6 一 系 统 架 构... 7 1 用 户 管 理 模 块... 7 2 Web Server... 8 3 存 储 加 密 模 块... 8

More information

TopTest_Adminstrator.doc

TopTest_Adminstrator.doc 壹 前 言... 3 貳 系 統 簡 介... 4 一 TKB multimedia Top-Test 系 統 架 構...4 1. 使 用 者 介 面 層 (Presentation tier)...5 2. 商 業 邏 輯 層 (business logic tier)...5 3. 資 料 服 務 層 (data services tier)...5 二 TKB Multimedia Top-Test

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

ArcIMS ArcIMS Shape ArcIMS Monitor ArcIMS Tasker ArcIMS Windows NT UNIX ArcIMS ArcIMS MapService ArcIMS ArcIMS ArcIMS ArcIMS JAVA Windows NT UNIX ArcI

ArcIMS ArcIMS Shape ArcIMS Monitor ArcIMS Tasker ArcIMS Windows NT UNIX ArcIMS ArcIMS MapService ArcIMS ArcIMS ArcIMS ArcIMS JAVA Windows NT UNIX ArcI ArcIMS ArcIMS4.0 ( ) ArcIMS GIS ArcIMS GIS ArcIMS GIS Internet ArcIMS HTML Java ArcGIS Desktop ArcIMS ArcIMS ArcIMS ArcIMS ArcIMS ( ) Internet Intranet ArcIMS ArcIMS ArcIMS ArcIMS ArcIMS Spatial Server

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

ARIS Design Platform

ARIS Design Platform ARIS - 20045 ARIS 1 ARIS 6.................................................................4 2 ARIS 6.....................................................5 2.1 ARIS.......................................................................6

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

RunPCPB8 new feature.PDF

RunPCPB8 new feature.PDF Client/Server Web N-Tier PowerBuilder 8.0 PowerBuilder 8.0 IDE Client/Server Web PowerBuilder / Web-based IT IDE PowerBuilder PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder Sybase PowerBuilder

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

Eclipse C C++, or

Eclipse C C++,  or Eclipse C C++, Emailctchen@pl.csie.ntut.edu.tw or s1669021@ntut.edu.tw, s2598003@ntut.edu.tw http://pl.csie.ntut.edu.tw/~ctchen, http://www.ntut.edu.tw/~s2598003/ 2004/9/10 (0.02 ) Eclipse http://www.eclipse.org

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

Microsoft Word - 28935样章.dot

Microsoft Word - 28935样章.dot 21 世 纪 高 职 高 专 规 划 教 材 系 列 何 福 贵 张 梅 编 著 机 械 工 业 出 版 社 IV 本 书 全 面 地 介 绍 了 网 页 制 作 技 术 及 其 相 关 理 论 全 书 共 分 12 章, 包 括 绪 论 网 站 的 创 建 与 管 理 网 页 基 本 元 素 实 现 网 页 页 面 布 局 实 现 表 单 的 应 用 CSS 与 模 板 使 用 Div 和 AP

More information

FAQ -PowerDesigner9.5.DOC

FAQ -PowerDesigner9.5.DOC PowerDesigner 9.5 FAQ 1. PowerDesigner PowerDesigner PowerDesigner (CASE Tool,Computer Aided Software Engineering) PowerDesigner 1989 9.5 2. PowerDesigner PowerDesigner Internet ( Java) PowerDesigner 7.0

More information

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc) SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer

More information

Microsoft Word - 改版式网页全文.doc

Microsoft Word - 改版式网页全文.doc 第 4 章 Dreamweaver CS3 高 级 篇 4.1 表 单 概 述 表 单 是 用 来 收 集 浏 览 者 的 用 户 名 密 码 E-mail 地 址 个 人 爱 好 和 联 系 地 址 等 用 户 信 息 的 输 入 区 域 集 合 浏 览 者 填 写 表 单 的 方 式 一 般 是 输 入 文 本 选 择 单 选 按 钮 或 复 选 框 以 及 从 下 拉 列 表 框 中 选 择

More information

ebook4-12

ebook4-12 12 CGI C G I (Common Gateway Interface) We b P H P C G I H T M L H T T P H T M L We b H T T P We We b I n t e r n e t R F C h t t p : / / w w w. i e t f. o rg / P H P C G I C G A p a c h e C G I P H P

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

ASP 電子商務網頁設計

ASP 電子商務網頁設計 Flash Flash CSIE, NTU December 22, 2007 Outline & Flash National Taiwan University December 22, 2007 Page 2 Outline & Flash National Taiwan University December 22, 2007 Page 3 Course Introduction (1/3)

More information

untitled

untitled 21 Visual FoxPro Visual FoxPro 6.0 11 Visual FoxPro Visual FoxPro CIP Visual FoxPro 2004 21 ISBN 7-03-014834-7 V Visual FoxPro TP311.138 CIP 2004 143035 16 100717 http://www.sciencep.com * 2004 12 7871092

More information

jsp

jsp JSP Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 JSP JSP JSP JSP MVC Huihoo - Enterprise Open Source http://www.huihoo.com 2

More information

FileMaker 15 ODBC 和 JDBC 指南

FileMaker 15 ODBC 和 JDBC 指南 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. / FileMaker WebDirect FileMaker, Inc. FileMaker

More information

Microsoft Word - A201101-1519.doc

Microsoft Word - A201101-1519.doc 5 10 15 20 25 30 基 于 ASP+ACCESS 的 辽 宁 工 程 技 术 大 学 考 试 网 的 设 计 与 开 发 董 强 1, 宋 喜 义 2 2**, 黄 培 泉 (1. 辽 宁 工 程 技 术 大 学 安 全 科 学 与 工 程 学 院, 辽 宁 阜 新 123000; 2. 辽 宁 工 程 技 术 大 学 实 验 实 训 中 心, 辽 宁 阜 新 123000) 摘 要

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Marketing_WhitePaper.PDF

Marketing_WhitePaper.PDF Turbolinux PowerMonitor Enterprise 1. 1994 WWW WEB 1 Web 1: Web Web web web web web web Web HTML 2 DNS Web DB LDAP Shipping Agencies 2 2 CGI Servlets JSP ASP XSL JDBC Web 2. HP OpenView CA Unicenter Tivoli

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7 计 算 机 系 软 件 工 程 专 业 习 指 南 广 东 科 技 院 计 算 机 系 2015-9-1 软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

More information

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Perl CGI 1 Perl CGI 2 Perl CGI 3 Perl CGI 4 1. 2. 1. #!/usr/local/bin/perl 2. print "Content-type: text/html n n"; 3. print " n"; 4. print " n"; 3. 4.

More information

5-1 nav css 5-2

5-1 nav css 5-2 5 HTML CSS HTML CSS Ê Ê Ê Ê 5-1 nav css 5-2 5-1 5 5-1-1 5-01 css images 01 index.html 02 5-3 style.css css 03 CH5/5-01/images 04 images index.html style.css 05

More information

weblogic

weblogic Weblogic Allen Long allen@huihoo.com http://www.huihoo.com 2004-04 1 WebLogic, WLS WLS Domain 2 Weblogic6.1 Weblogic6.1 J2EE1.2,J2EE1.3 HTTP 1.1 J2EE Connector Architecture 1.0 J2EE EJB 2.0 J2EE JDBC 2.0

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

摘 要 本 研 究 主 要 目 的 在 於 提 出 E 化 網 路 評 量 系 統 的 設 計, 並 從 事 上 述 系 統 的 建 置 工 作 為 驗 證 系 統 之 可 行 性, 以 國 小 五 年 級 自 然 與 生 活 科 技 科 為 範 例 給 學 生 和 老 師 進 行 試 用 除 進

摘 要 本 研 究 主 要 目 的 在 於 提 出 E 化 網 路 評 量 系 統 的 設 計, 並 從 事 上 述 系 統 的 建 置 工 作 為 驗 證 系 統 之 可 行 性, 以 國 小 五 年 級 自 然 與 生 活 科 技 科 為 範 例 給 學 生 和 老 師 進 行 試 用 除 進 國 立 台 中 師 範 學 院 教 育 測 驗 統 計 研 究 所 理 學 碩 士 論 文 指 導 教 授 : 鄭 富 森 博 士 E 化 網 路 評 量 系 統 - 以 國 小 五 年 級 自 然 與 生 活 科 技 為 例 研 究 生 : 陳 國 男 撰 中 華 民 國 九 十 四 年 六 月 I 摘 要 本 研 究 主 要 目 的 在 於 提 出 E 化 網 路 評 量 系 統 的 設 計,

More information

ebook204-2

ebook204-2 Internet Information Services 2 I I S 5 We b We b I I S IIS 5 M i c r o s o f t M i c r o s o f t Active Server Pages A S P We b IIS 5 IIS 5 3 We b IIS 5 We b Microsoft Solutions Framework M S F M S F

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

Microsoft Word - 100118002.htm

Microsoft Word - 100118002.htm 100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su Java Desktop System Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 819 0675 10 2005 2 2005 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Sun Sun Berkeley

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用 刘 瑞 新 金 牌 作 者 经 典 作 品 教 授, 计 算 机 专 业 资 深 学 科 带 头 人, 多 部 著 作 获 得 全 国 优 秀 畅 销 书 奖 他 所 编 写 的 教 材 内 容 均 来 自 教 学 实 践, 是 对 编 写 讲 义 教 学 修 改 教 学 讲 义 再 次 教 学 整 个 过 程 的 精 确 提 炼, 因 此 对 促 进 教 师 教 学 学 生 学 习 发 挥 了 重

More information

untitled

untitled SAP SAP Business One ... 4 SAP Business One... 5... 5 SAP Business One... 7 SAP Business One... 8... 8... 8... 9... 10... 11 mysap Business Suite... 12... 13... 14 Copyright 2004 SAP AG. All rights reserved.

More information

(京)新登字063号

(京)新登字063号 教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言

More information

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

More information

Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt

Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt 2004 Marty Hall servlet 基础 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com

More information

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener SGML HTML XML 1 SGML XML Extensible Markup Language XML SGML Standard Generalized Markup Language, ISO 8879, SGML HTML ( Hypertext Markup Language HTML) (Markup Language) (Tag) < > Markup (ISO) 1986 SGML

More information

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S 一 個 SQL Injection 實 例 的 啟 示 頁 1 / 6 你 的 網 站 在 裸 奔 嗎? 一 個 SQL Injection 實 例 的 啟 示 作 者 : 李 明 儒 SQL Injection( 資 料 隱 碼 攻 擊 ) 問 題 早 就 不 是 什 麼 新 聞, 但 前 陣 子 在 一 個 頗 具 知 名 度 的 活 動 網 站 上, 赫 然 發 現 它 大 刺 刺 地 現 身!

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

软件概述

软件概述 Cobra DocGuard BEIJING E-SAFENET SCIENCE & TECHNOLOGY CO.,LTD. 2003 3 20 35 1002 010-82332490 http://www.esafenet.com Cobra DocGuard White Book 1 1....4 1.1...4 1.2 CDG...4 1.3 CDG...4 1.4 CDG...5 1.5

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

WWW PHP

WWW PHP WWW PHP 2003 1 2 function function_name (parameter 1, parameter 2, parameter n ) statement list function_name sin, Sin, SIN parameter 1, parameter 2, parameter n 0 1 1 PHP HTML 3 function strcat ($left,

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

上海市教育考试院关于印发新修订的

上海市教育考试院关于印发新修订的 沪 教 考 院 社 考 2012 7 号 上 海 市 教 育 考 试 院 关 于 印 发 上 海 市 高 等 学 校 计 算 机 等 级 考 试 大 纲 (2012 年 修 订 ) 的 通 知 各 有 关 高 校 : 为 进 一 步 加 强 本 市 高 校 计 算 机 基 础 教 学 工 作, 推 进 学 校 更 加 科 学 合 理 地 设 置 计 算 机 基 础 课 程 及 安 排 教 学 内 容,

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 Shenzhen WitSoft Information Technology Co., Ltd. 主 办 券 商 二 〇 一 六 年 二 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本

More information

R3105+ ADSL

R3105+ ADSL ... 1 1 1... 1 1 2... 1... 3 2 1... 3 2 2... 3 2 3... 5 2 4... 5 2 4 1... 5... 7 3 1... 7 3 2... 8 3 2 1... 8 3 2 2... 9 3 3... 12 3 3 1... 13 3 3 2 WAN... 16 3 3 3 LAN... 21 3 3 4 NAT... 22 3 3 5... 24

More information

ebook 185-6

ebook 185-6 6 Red Hat Linux DB2 Universal Database 6.1 D B 2 Red Hat D B 2 Control Center D B 2 D B 2 D B 2 6.1 DB2 Universal Database [DB2]6.1 D B 2 O LT P O L A P D B 2 I B M P C We e k D B 2 D B 2 L i n u x Windows

More information