Servlet/JSP配置入門

Servlet/JSP配置入門

作者:佚名    來自:未知

 

  初學者問的諸如:怎樣配置環境變量、怎樣運行Servlet啊?這樣的問題太多了,現在我寫一個初學者入門必讀,以便對初學者有指導作用!
  首先是下載工具:
  我建議初學者用Editplus+JDK,我覺得如果用例如JB,Eclipse,JCreator,雖然剛開始的時候比較方便,但是確使初學者門不知道怎樣配置環境變量,
  從而難以達到知其然,知其所以然的地步
  
  然後就是安裝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:  參數:文件名稱(不含擴展名)
  初始目錄:文件目錄
  
  工具組名稱可以隨便添,比如DebugJavaProgram
  然後在Tools的下拉菜單中,你就會看見CompileJavaProgram以及RunJavaProgram這兩個選項,以後你就可以利用ctrl+1編譯和ctrl+2運行程序了
  
  下面就討論Servlet的運行:
  首先要運行Servlet,則需要JSP/Servletcontainer,我建議初學者用Tomcat,下載TOMCAT,然後把這個壓縮包解壓到:
  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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章