jsp簡單留言板

這個範例有新增留言、查詢留言及留言分頁顯示等功能,後台的管理還沒有建置完成,留言者需要填入標題、顯示名稱、電話、信箱及留言內容,其中電話與電子信箱不顯示在留言列表中,電話及信箱可以為之後後台回覆寄信連絡使用。

當然這還有需多可以增加的功能,像是留言通知、隱私留言、留言刪除等,之後會再慢慢增加。

資料庫使用MySQL資料庫,使用JDBC來連接資料庫(DataSource方式),記錄檔則是使用log4j。

在新增留言部份,submit之前會先檢查是否有未填欄位,如果檢查通過則會自動建立IFrame來給這個form的target使用,新增完成後會自動回到留言列表的頁面。

留言版留言

查詢留言會對資料的標題及留言內容進行比對,有相同資料就會顯示查詢的結果,如果想進階做一個Search-Engine則可以參考建立自己的搜尋引擎

留言板查詢

Read More

[jsp]常用範例-登入及檢查與登出

登入與登出是很常用到的一個網頁功能,而在製作上原理其實不難,當使用者輸入帳號密碼後,傳至程式,檢查資料庫裡使用者表格table是否存在此使用者,如果存在,則在Session裡存入使用者的個人資訊,而登出時只需要清除此Session記錄,檢查是否登入中,則是check Session是否存在。

此範例程式有幾個小功能:

  • 防止沒登入者使用需要登入的頁面
  • 登入檢查,誰是登入者
  • Servert載入時自動執行程式

登入畫面,預設的帳號是pig密碼是1234567

測試有沒有登入-沒登入狀況

Read More

[Jsp技巧]看到錯誤碼?找到Exception位置呢?

剛開始學習jsp時,看到了Exception就一個頭二個大,因為好像跟一般Java出現錯誤的表示方式不一樣,Exception的訊息寫的錯誤行數,總跟jsp裡的行數不太一樣?這樣子就不好判斷Exception產生在那裡,進而修改了!

其實不然,在執行jsp網頁時web-server會把jsp檔先轉換成java檔,再由java檔編譯成class檔,所以要找出錯誤的地方就只需要找到java檔的所在,就可以了。

範例使用的環境是tomcat,Exception直接向網頁丟出,會看大概如下的畫面

errorcheck4.png
Read More

[教學]jsp Web的檔案上傳-FileUpload

這是一個簡單的fileupload程式,把整個upload動作都包裝在UploadTool這個class裡,而在jsp裡再call此class來做檢查及上傳等動作。jar檔需放置WEB-INF/lib/裡,而程式complier後放置WEB-INF/classes/toolkie/裡。

首先需要二個第三方的jar檔 Apache FiluploadApache common io 都下載Binary的jar檔就可以了

檔案的配制結構如下圖:

tomcat文件配制圖

再來利用下面的程式來進行上傳作業

Read More

(教學)在Ubuntu裡建立Apache with Tomcat 服務-3

前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2    (教學)在Ubuntu裡建立Apache with Tomcat 服務-1

讓Apache Server與Tomcat Server做溝通

使Apache支援JSP及測試ImageMagick及JMagick是否可用

1.設定apache使用apj與tomcat做溝通,把所有內容向tomcat送

#sudo vi /etc/apache2/sites-available/default 

在<VirtualHost *:80></VirtualHost>tag內增加

 LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so 
 LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so 
 LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$ 
 LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so 
 ProxyPass / ajp://127.0.0.1:8009/ 
 ProxyPassReverse / ajp://127.0.0.1:8009/

2.重新啟動tomcat及apache

#sudo /etc/init.d/tomcat5 restart 
#sudo /etc/init.d/apache2 restart 

測試http://localhost/是否跟http://localhost:8080/一樣

一樣的話就是成功了!

3.測試jmagick是否可用

Read More