Servlet/JSP配置入門

來源:互聯網
上載者:User
js|servlet  初學者問的諸如:《怎樣配置環境變數》《怎樣運行Servlet》啊?這樣的問題太多了,現在我寫一個初學者入門必讀,以便對初學者有指導作用!
  首先是下載工具:
  我建議初學者用Editplus+JDK,我覺得如果用例如JB,Eclipse,JCreator,雖然剛開始的時候比較方便,但是確使初學者門不知道怎樣配置環境變數,
  從而難以達到知其然,知其所以然的地步
  可以通過如下地址下載:
  Editplus(最新版本是v2.11):http://count.skycn.com/softdown.php?id=3641&url=http://sc-http.skycn.net/down/epp211a_cn.exe(要照註冊碼就自己找吧,網上很多的)
  JDK(最新版本是Java2sdk1_4_2):http://count.skycn.com/softdown.php?id=3116&url=http://sc-http.skycn.net/down/j2sdk-1_4_2-windows-i586.exe(這是ForWindows)
  
  然後就是安裝JDK,我是把它裝到從c:\JDK目錄下面:
  然後就是CLASSPATH的問題了:
  正如作業系統利用PATH來搜尋可執行程式一樣,Java運行環境也會遍曆CLASSPATH來尋找類,即便是HelloWorld這樣簡單的程式,JVM也會遍曆
  CLASSPATH定義的每一個路徑,直到找到相應的檔案為止。
  相信大家用的系統不是2k就是XP,然後就應當如下設定Path:
  我的電腦->屬性->進階->環境變數
  然後在環境變數的Path後面追加:C:\JDK\bin;.;C:\JDK\lib
  也可以這樣配置:C:\JDK\bin;.;C:\JDK\lib\dt.jar;C:\JDK\lib\tools.jar
  ★記住:環境變數中的.切記不能少,它表示當前路徑,如果少掉出現的錯誤等會就說!
  dt.jar是關於運行環境的類庫,tools.jar是關於一些工具的類庫
  如果沒有配置:C:\JDK\bin,則會出現“javac'不是內部或外部命令,也不是可啟動並執行程式或批次檔。”這樣的錯誤。
  然後下面就該寫程式了:
  首先是(HelloWorld.java),開啟Editplus,建立一個Java檔案,請照著如下輸入,要一字不漏,並且分清大小寫:
  publicclassHelloWorld{
  publicstaticvoidmain(String[]args){
  System.out.println("Hello,World!");
  }
  }
  然後把這個檔案儲存(ctrl+s)到HelloWorld.java,記住大小寫一定要分清,是HelloWorld.java不是helloworld.java或者其他的
  下面就該運行了,開始->運行->cmd
  在控制台中把目錄切換到目前的目錄:
  javacHelloWorld.java
  javaHelloWorld
  你就會在控制台上看見輸出的Hello,World!(沒出來?我把電腦吃了:))
  javac是編譯命令,它把HelloWorld.java編譯成HelloWorld.class
  java就是解釋命令,JVM把HelloWorld.class解釋執行.

  在這個時候:
  1。如果出現Exceptioninthread"main"java.lang.NoClassDefFoundError:HelloWorld
  那就是你在環境變數中沒有加上那個.(dot)
  2。如果出現Exceptioninthread"main"java.lang.NoSuchMethodError:main
  或者HelloWorld.java:1:Publicclasshelloworldmustbedefinedinafilecalled
  
  "HelloWorld.java".
  那就是你沒有分清大小寫寫入這個HelloWorld,或者儲存得時候沒有儲存為HelloWorld.java
  這個名字一定要跟publicclass的名字一樣
  
  對於環境變數的問題就說到這裡,下面我先所說怎麼在Editplus裡面編譯和運行,在Tools->參數設定->配置使用者工具
  1.添加工具(添加應用程式)
  菜單文字:CompileJavaProgram
  程式:C:\JDK\bin\javac.exe
參數:檔案名稱
    初始目錄:檔案目錄



  2.添加工具(添加應用程式)
  菜單文字:RunJavaProgram
  程式:C:\JDK\bin\java.exe
  參數:檔案名稱(不含副檔名)
  初始目錄:檔案目錄
  
  工具組名稱可以隨便添,比如DebugJavaProgram
  然後在Tools的下拉式功能表中,你就會看見CompileJavaProgram以及RunJavaProgram這兩個選項,以後你就可以利用ctrl+1編譯和ctrl+2運行程式了
  
  下面就討論Servlet的運行:
  首先要運行Servlet,則需要JSP/Servletcontainer,我建議初學者用Tomcat
  Tomcat(最新版本5.0):http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
  然後把這個壓縮包解壓到:
  C:\Tomcat
  然後再配置環境變數:
  添加三個系統變數:
  JAVA_HOME:C:\JDK
  TOMCAT_HOME:C:\Tomcat
  CLASSPATH:%JAVA_HOME%\lib;%TOMCAT_HOME%\lib
  Tomcat的環境變數就配置完畢了,下面檢驗Tomcat是否能夠運行:
  在控制台中轉到C:\Tomcat\bin這個目錄,運行startup,然後回出現一個視窗,連跳一大串東西,最後表示Server已經運行
  在瀏覽器中輸入http://localhost:8080,出現歡迎介面,則表示Tomcat沒問題了
  然後和上面一樣,寫入你的第一個Servlet
  importjava.io.*;
  importjavax.servlet.*;
  importjavax.servlet.http.*;
  publicclassHelloWorldextendsHttpServlet


  {
  publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
  {
  
  response.setContentType("text/html");
  PrintWriterout=response.getWriter();
  out.println("<html><head><title>");
  out.println("ThisismyfirstServlet");
  out.println("</title></head><body>");
  out.println("<h1>Hello,World!</h1>");
  out.println("</body></html>");
  
  }
  }
  然後照樣用javacHelloWorld.java來編譯這個檔案,如果出現無法importjavax.servlet.*
  那麼就是應該把C:\Tomcat\common\lib裡面的servlet.jar檔案拷貝到C:\JDK\jre\lib\ext中,再次編譯,就沒有問題了!
  然後在Tomcat目錄裡面的C:\Tomcat\webapps\ROOT裡面按如下的檔案結構:
  ROOT\index.html
  ROOT\welcom.jsp
  ROOT\WEB-INF\lib\MyServlet.jar(如果你的servlet的.class打成了.jar檔案,則放在lib下面)
  ROOT\WEB-INF\classes\HelloWorld.class(把上面產生的HelloWorld.class檔案放在這個裡面)
  
  然後在瀏覽器中輸入http://localhost:8080/servlet/HelloWorld,於是Server眾望所歸的報錯了:Error404--NotFound
  怎麼回事呢?
  Servlet必須使用C:\Tomcat\webapps\ROOT\WEB-INF這個目錄下面的web.xml檔案進行註冊,用EP開啟這個web.xml檔案,
  在裡面加入
  <servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/servlet/helloworld</url-pattern>
  </servlet-mapping>
  
  這樣的結構
  <servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>HelloWorld</servlet-class>
  </servlet>

  表示指定包含的servlet類.
  而以下的結構
  <servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/servlet/HelloWorld</url-pattern>
  </servlet-mapping>
  表示指定HelloServlet應當映射到哪一種URL模式。
  在修改web.xml完畢過後,重新啟動Server,然後再輸入http://localhost:8080/servlet/HelloWorld,那麼偌大一個Hello,World!等著你呢,恭喜你
  擺平了:)
  艾,手都打累了,就寫到這兒吧,希望對初學者有一點作用!
  
  ================================
  如何建立一個串連資料庫的應用?例如串連access、和sqlsever.
  聽說有jdbcjdbc-odbc橋等方式。目前我的機器上只有jdk1.4,我想用jdbc的方式還需要裝什麼環境嗎?
  如果要jdbc的驅動等環境那裡可以下到?還有程式怎樣寫?
  --------------------------------
  
  如果用驅動橋的話就不需要另外安裝別的東西
  在
  控制面版-->管理工具-->資料來源(ODBC)-->SystemDSN
  中加入你的資料庫映射,選好相應的資料庫驅動
  然後就可以通過
  jdbc:odbc:設定好的DSN名
  的方式來串連資料庫了
  ----------------------------------
  
  packageCBK00D.COMMON;
  /**
  *Title:
  *Description:
  *Copyright:Copyright(c)2001
  *Company:
  *@author
  *@version1.0
  */
  importjava.io.*;
  importjava.util.*;
  importjava.sql.*;
  importjava.lang.*;
  publicclassDBConnect{

  privateStringjdbcDriver=null;
  privateStringjdbcURL=null;
  privateStringuserName=null;
  privateStringpassword=null;
  publicDBConnect(){
  jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";
  jdbcURL="jdbc:odbc:cbk";
  userName="system";
  password="manager";
  }
  publicConnectiongetConnection(){
  Connectionconnection=null;
  try{
  Class.forName(jdbcDriver);
  connection=DriverManager.getConnection(jdbcURL,userName,password);
  }catch(Exceptione){
  System.out.println(e);
  }
  returnconnection;
  }
  }
  這是普通的串連方法!只要修改一下就可以了。
  --------------------------------------
  
  似乎是這樣的,要先rs.next()一下
  jdbc-odbc橋不好嗎?^_^
  
  JAVA串連資料庫的方式有多種:
  根據所需要的不同資料庫驅動分,分為四種:
  1:1類驅動。這就是JDBC-ODBC橋的方式。但這種方式不適合程式的重用與維護,不推薦使用。需要資料庫的ODBC驅動。
  2:2類驅動。這就是JDBC+廠商API的形式。廠商API一般使用C編寫,所以,這種方式也不長使用。
  3:3類驅動。這就是JDBC+廠商DatabaseConnectionServer+DataBase的形式。

  這種方法就是在JAVA與DATABASE之間價起了一台專門用與資料庫連接的伺服器(一般由資料庫廠商提供)。他的好處在於能最佳化串連。
  4:4類驅動。這就是純JDBC+DATABASE的串連方式。也是推薦的串連方式。這使得APPLICATION與資料庫分開,開發人員只需關心內部邏輯的實現而不需注重資料庫連接的具體實現。在這其中有兩種串連的方式:
  寫入程式碼方式,就是在程式中硬性編入資料庫連接的所須參數。
  JNDIDataSource方式。就是在程式啟動並執行外布環境中又稱(Context)設定一個datasource資料來源,有一個jndi名稱,程式只須尋找此名稱就可得到一個資料庫連接的對象。
  =====================================
  jsp串連Oracle8/8i/9i資料庫(用thin模式)
  testoracle.jsp如下:
  <%@pagecontentType="text/html;charset=gb2312"%>
  <%@pageimport="java.sql.*"%>
  <html>
  <body>
  <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";
  //orcl為你的資料庫的SID
  Stringuser="scott";
  Stringpassword="tiger";
  Connectionconn=DriverManager.getConnection(url,user,password);
  Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  Stringsql="select*fromtest";
  ResultSetrs=stmt.executeQuery(sql);
  while(rs.next()){%>
  您的第一個欄位內容為:<%=rs.getString(1)%>
  您的第二個欄位內容為:<%=rs.getString(2)%>
  <%}%>
  <%out.print("資料庫操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
  %>
  </body>
  </html>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.