国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP輕松入門(一)

2019-11-18 16:13:01
字體:
來源:轉載
供稿:網友

級別:初級

基本內容

首先是用J2SE+TOMCAT搭建開發平臺,然后會用實例分別對javabean和servlet進行測試,同時也會談到一些中文處理上的問題。文章內容可能會有點雜亂和零散,但這也是學習jsp最基礎的知識,要想學好jsp還得靠自己多努力學習。

為什么要寫這樣一篇文章?

認識我的朋友可能會知道,我平時只是寫和翻譯一些J2ME方面的開發的文章,而我為什么要寫一篇關于JSP入門的文章呢?原因有二,其一,最近小弟也在學習一些與web相關的知識,有不少收獲和心得,想告訴大家,好讓后來者少走彎路,其二,有位好友最近正準備學習jsp方面的知識,便有了寫這篇文章的想法。由于小弟水平有限,如果有任何錯誤和問題,請及時與我聯系e-mail:numenzq@yahoo.com.cn,我好做出糾正和回復。現在就言歸正傳,進入正題。

系統開發平臺配置

1、  Windows2000 SP5

2、  J2SE 1.5.0
下載地址:http://java.sun.com/j2se/1.5.0/download.jsp

3、  TOMCAT5.5.12
下載地址:http://tomcat.apache.org/download-55.cgi#5.5.15

如果你已經安裝過上述軟件的舊版本,則可以跳過這個步驟看下面的文章,不過我建議你盡量使用最近發布的版本,其好處就不用我多說了吧。如果你還沒安裝上面的軟件,請使用我上面給出的地址下載該軟件。下載完后,根據提示安裝好相應軟件即可,tomcat是壓縮吧,直接解壓后便可以使用。搭建一個簡單的平臺就這么簡單,你已經開始佩服自己了吧,呵呵~。下面我們將了解如何配置環境變量的。

環境變量配置

       大家都應該知道,編寫JAVA程序需要配置環境變量,不過這是一個簡單的工作,就讓我們輕松的來完成它吧,我們找到修改環境變量的對話框,然后把下面的配置添加進去,當然你也可以在命令行里添加這些配置,不過我相信大家還是愿意使用圖形界面哈。不過大家得注意的是,我假設把上面的軟件都是直接安裝在D:/跟目錄下的。


JAVA_HOME=D:/JAVA/jdk1.5.0_06

TOMCAT_HOME=D:/apache-tomcat-5.5.15

path=%JAVA_HOME%/bin

classpath=.;%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/tools.jar;%TOMCAT_HOME%/common/lib/servlet-api.jar

測試

       現在萬事俱備,只差編寫代碼和測試了。在實際編碼之前,我們還是測試一下我們這個開發平臺是否正常。我們用經典的hello world來測試J2SE,代碼如下:

public class helloworld {

      

       public helloworld() {}

      

       public static void main(String[] args) {

              System.out.

       }

}

       我們把上面這個代碼保存在D:/根目錄下,在命令行下編譯和運行該程序,如果能輸出“hello,你好!”則說明你J2SE安裝和環境設置沒有問題。提示:你也可以使用java –version來檢查你的程序是否安裝正確。

現在我們來測試Tomcat吧,在Tomcat安裝目錄下的bin文件夾里運行startup.bat,啟動Tomcat,然后在瀏覽器里鍵入:http://localhost:8080,只要能看見那只長得并不怎么樣的貓就行了。這樣一來,我們既肯定了之前的工作,又可以安心的編碼了。如果上面兩步測試存在問題的話,你就得認真檢查一下了。

實例

       終于開始編碼了,現在我們將會編寫helloBean.java和helloServlet.java文件,很顯然,兩個文件是分別通過javabean和servlet的方式在頁面上顯示“hello,你好!”的。先讓我們來看看使用javabean的實現方法吧。

       其實javabean就是一個普通的java類文件,不過需要滿足一些特性,比如說:javabean文件里需要一個本類的無參構造函數,屬性的get/set方法等。關于javabean的更詳細的資料可以參考其他書籍。其實可以把javabean理解為一個提供方法的類,然后在jsp里創建該類的對象,通過這個對象來調用相應的方法而已。Javabean就這么簡單。為了讓大家容易理解,下面是一個簡單的javabean文件。

//helloBean.java


package hello;

public class helloBean {

       private String str = "hello,你好!";

      

       public helloBean() {}

      

       public String getStr() {

              return str;

       }

      

       public void setStr(String _str) {

              str = _str;

       }

}

在上面的程序中,helloBean有一個屬性str,并有與該屬性配對的getStr和setStr方面。既然之前說是要在jsp里顯示str的內容,那么應該有一個jsp頁面來調用它吧,下面我們就來看這個jsp頁面是如何實現的:

      

             

      

      

             

             

             

             

             


      

       上面的代碼很短,但已經足夠實現我們所需要的操作了,關鍵語句在標簽里,正如我們之前所說,先創建一個名為helloBean的對象,說明它的使用范圍和類文件所在地址;接下來則是調用getStr方法獲得str的值并顯示;最后修改str的值后,再次讀取該值并顯示在屏幕上。

不過怎樣來測試現有的代碼呢?這個問題很簡單,我們使用的web服務器是tomcat,我們在tomcat在進入webapps目錄,為了不和其他項目混淆,我們先為這個項目建立一個文件夾,我取名字為jsp-test;然后在jsp-test里建立WEB-INF文件夾,這個文件夾里存放著這個項目的類文件(classes)、庫文件(lib)和配置文件(web.xml)等。因為當客戶請求該項目時tomcat服務器會自動根據配置文件在WEB-INF文件下尋找相應的文件,并做出響應。好了,我們現在就試試helloBean,我們得先把helloBean.java編譯成helloBean.class文件,如剛才所說,我們把編譯好的helloBean.class文件存放到WEB-INF目錄下,起目錄結構為:D:/apache-tomcat-5.5.15/webapps/jsp-test/WEB-INF/classes/hello。因為helloBean.java在hello下,所以helloBean.class也在hello包下,符合相應的包結構。然后再把helloBean.jsp文件保存到jsp-test目錄下即可。還不快點啟動tomcat,看看我們的成果,訪問地址就是之前我們的測試地址加上項目名和文件名,即http://localhost:8080/jsp-test/helloBean.jsp。呵呵,看見效果了吧,下面我們將學習一個簡單的servlet。

其實servlet跟javabean一樣,也是一個java類文件,并滿足一些特殊要求,如:需要繼承Servlet或HtppServlet類等。我們主要是是servlet的GET和POST方法來響應頁面請求。一個簡單的servlet代碼如下:

//helloServlet.java

package hello;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class helloServlet extends HttpServlet {

      

       protected void doGet(HttpServletRequest request,

                                          HttpServletResponse response)

                                                 throws ServletException, IOException {


              doPost(request, response);

       }

      

       protected void doPost(HttpServletRequest request,

                                          HttpServletResponse response)

                                                 throws ServletException, IOException {

              PrintWriter out=response.getWriter();

              out.println("");

              out.println("");

              out.println("");

              out.println("");

              out.println("");

              out.println("hello,你好!");

              out.println("");

              out.println("");

             

              out.flush();

       }

}

       可能你也注意到了,helloServlet除了繼承了HttpServlet類外,不管是POST還是GET方法時,都是在doPost方法中實現的,這些為了程序的簡單易讀。當然了,你也可以根據不同的要求來修改代碼。還值得注意的是,輸出語句里的信息其實就是一個基本的Html代碼,這也是響應給客戶端的信息。同樣的,要運行該servlet也需要一個jsp來實現:


      

             

      

      

             

            

             

      

這個jsp代碼很簡單,就是當表單里的按鈕按下時,通過post方法響應action。還記得先前我說過的配置文件嗎?因為調用servlet前需要在配置文件里說明servlet類存放的地址和映射地址,所以我們編寫一個web.xml文件如下:該文件應存放在WEB-INF目錄下。

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

   

   

                     helloServlet

                     hello.helloServlet

             

             

                     helloServlet


                     /hello/helloServlet

             

       現在來測試我們的servlet吧!怎么樣,能看到“hello,???”,那就恭喜你了,你已經測試成功了。既然是測試成功了,那為什么看不到中文的“你好”呢?這個很簡單,只需要修改一個地方就是了,我們打開之前的helloServlet類,在doPost方法的最前面加上:

response.setContentType("text/html;charset=gb2312");

這樣就ok了,你把修改后的helloServlet.java編譯后,在啟動tomcat運行看看效果吧,現在就能顯示中文了:)。雖然在上例的中文問題解決了,但是并沒有用傳遞參數,如果用GET/POST方法來傳遞參數會是什么樣的結果呢?其實大家不用擔心,關于這個問題,我覺得ponky在“Tomcat下中文的徹底解決”一文里講得以已經很清楚了,原文地址是:http://www.matrix.org.cn/resource/article/1/1098.html,其實很簡單的,如果通過get方法來傳遞參數,則需要在D:/apache-tomcat-5.5.15/conf里的server.xml相應位置添加:

URIEncoding="GBK",添加后為:

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true"

               URIEncoding="GBK" />

       如果是使用post方法的話,則需要把

D:/apache-tomcat-5.5.15/webapps/jsp-examples/WEB-INF/classes/filterssetCharacterEncodingFilter.class文件復制到你的項目里響應的文件夾下,如果是放在jsp-test項目下,即:

D:/apache-tomcat-5.5.15/webapps/jsp-test/WEB-INF/classes/filters文件夾里。

       然后在web.xml文件里添加如下代碼:


    Set Character Encoding

              filters.SetCharacterEncodingFilter

             

                     encoding

                     GBK

             

      

 

 

              Set Character Encoding

              /*

      

       這樣就可解決中文問題了,下面是ponky寫的測試代碼,在這里我們就借用來測試一下。

      

             

             

             

      

      

              你提交了:


             

                     輸入中文:

                    

                    

                     你好" >通過get方式提交

             

      

       如果以上所有步驟都成功,能得到正常的結果話,那就得恭喜你了,你就可以根據你的要求來寫你的代碼:~)為了大家方便,我這里把源文件也傳上來提大家下載。

       下載源文件

總結

       這篇文章是關于jsp入門的基本文章,對jsp接觸不多或不了解的人,應該會有幫助。這些代碼都很簡單,是為了方便大家了解。如果大家想深入學習相關知識,可以參考其他教程和文章。另外,為了幫我的朋友入門,下一篇文章將會講到jsp與數據庫連接的相關知識。希望大家多多支持。

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西宁市| 察雅县| 类乌齐县| 雅江县| 灌阳县| 禹州市| 贵定县| 兖州市| 潜江市| 昌江| 衡水市| 东平县| 绥化市| 绩溪县| 廉江市| 泉州市| 双辽市| 清徐县| 宽城| 治多县| 白城市| 库伦旗| 宁陕县| 上蔡县| 陇西县| 武清区| 上饶县| 平泉县| 云霄县| 禹城市| 崇仁县| 故城县| 贺兰县| 余庆县| 金沙县| 尼木县| 信丰县| 尼勒克县| 郴州市| 聂拉木县| 南投县|