亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP輕松入門(一)

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

級別:初級

基本內容

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

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

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

系統開發平臺配置

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://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九精品视频在线观看| 2018中文字幕一区二区三区| 久久精品国产久精国产思思| 国产精品香蕉国产| 亚洲精品在线观看www| 国产美女被下药99| 亚洲性夜色噜噜噜7777| 久国内精品在线| 欧美成人剧情片在线观看| 92裸体在线视频网站| 久99九色视频在线观看| 国产成人高清激情视频在线观看| 亚洲性线免费观看视频成熟| 久久夜精品va视频免费观看| 97色在线观看免费视频| 精品色蜜蜜精品视频在线观看| 亚洲人成电影网站色www| 日韩免费在线播放| 精品久久久久久亚洲精品| 深夜福利91大全| 欧美精品在线免费| 国产精品美女久久久久久免费| 黑人精品xxx一区一二区| 日韩在线观看免费全集电视剧网站| 欧美成人精品h版在线观看| 成人黄色短视频在线观看| 国产精品视频不卡| 伊人成人开心激情综合网| 欧美日本高清视频| 91美女片黄在线观| 在线日韩日本国产亚洲| 日韩人体视频一二区| 另类天堂视频在线观看| 国产欧美va欧美va香蕉在线| 成人国内精品久久久久一区| 国产日韩精品在线| 久久精品中文字幕一区| 日韩av一区二区在线| 亚洲精品久久久久久下一站| 国产精品无码专区在线观看| 亚洲国产欧美一区二区三区久久| 成人两性免费视频| 最新国产成人av网站网址麻豆| 中文字幕av日韩| 亚洲香蕉成视频在线观看| 色先锋久久影院av| 日本高清+成人网在线观看| 久久久久久久久久av| 成人妇女淫片aaaa视频| 91精品在线观看视频| 精品日本高清在线播放| 国产成人精品网站| 久久av在线播放| 日韩一区视频在线| 亚洲性猛交xxxxwww| 97精品国产97久久久久久春色| 亚洲黄在线观看| 久久中文字幕视频| 欧美一级大片在线观看| 自拍亚洲一区欧美另类| 国产一区二区视频在线观看| 欧美性猛交xxxx乱大交| 亚洲国产精品悠悠久久琪琪| 狠狠躁夜夜躁人人躁婷婷91| 欧美视频免费在线| 久久精品久久久久| 欧美日韩国内自拍| 在线视频欧美日韩| 一个人看的www欧美| 成人免费高清完整版在线观看| 日本sm极度另类视频| 欧美交受高潮1| 中文字幕日韩欧美在线| 日本精品视频在线观看| 日本一区二三区好的精华液| 亚洲黄色av网站| 国产精品美女视频网站| 69国产精品成人在线播放| 日韩在线视频线视频免费网站| 亚洲天堂av在线免费| 国产精品一区二区三区久久| 亚洲国产成人av在线| 欧美激情第99页| 中文字幕精品影院| 久久手机精品视频| 国产精品久久久久国产a级| 亚洲国产成人精品久久| 成人免费观看49www在线观看| 久久九九精品99国产精品| 国产成人精品免费久久久久| 国产精品999999| 国产日韩欧美中文| 欧美电影在线观看网站| 国产精品久久久久国产a级| 亚洲国产高清高潮精品美女| 久久中文字幕在线| 在线观看国产成人av片| 色偷偷88888欧美精品久久久| 96国产粉嫩美女| 国产欧美在线观看| 久久综合九色九九| 日韩成人在线播放| 国产国产精品人在线视| 久久久亚洲欧洲日产国码aⅴ| 国产91成人在在线播放| 精品视频在线播放| 亚洲国产精品大全| 久久久免费观看视频| 亚洲aⅴ日韩av电影在线观看| 国产日韩在线播放| 国产午夜精品一区二区三区| 久久精品视频中文字幕| 欧美日韩国产影院| 亚洲国产私拍精品国模在线观看| 亚洲欧美日韩国产精品| 国产精品国产福利国产秒拍| 亚洲天堂免费视频| 亚洲精美色品网站| 国产精品美乳在线观看| 亚洲国产精品一区二区三区| 亚洲综合成人婷婷小说| 26uuu国产精品视频| 中文字幕在线成人| 国产免费一区二区三区香蕉精| 日本久久久久久久久| 成人黄色免费网站在线观看| 国产精品jizz在线观看麻豆| 日韩欧美亚洲一二三区| 国产视频999| 久久久久久久久久久人体| 91免费看片网站| 亚洲第一区中文字幕| 精品美女永久免费视频| 欧美大人香蕉在线| 久久高清视频免费| 久久精品视频中文字幕| 日韩av一区在线观看| 亚洲欧美国产精品专区久久| 国产精品亚洲第一区| 欧美最顶级丰满的aⅴ艳星| 午夜精品一区二区三区在线| 日韩在线不卡视频| 午夜美女久久久久爽久久| 91老司机在线| 欧美区在线播放| 久久久av免费| 亚洲精品99久久久久中文字幕| 91成人精品网站| 国产精品爱啪在线线免费观看| 亚洲加勒比久久88色综合| 欧美精品videos另类日本| 不卡在线观看电视剧完整版| 亚洲国产高清自拍| 九色精品免费永久在线| 国产精品久久久久久久久久| 亚洲精品日韩av| 国产精品午夜一区二区欲梦| 日韩美女福利视频| 性色av一区二区三区| 国产精品高潮呻吟久久av无限| 亚洲免费视频网站| 中文字幕亚洲无线码在线一区| 日韩精品免费在线视频| 国产精品视频一区二区高潮|