<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>聰明的生活2 &#187; tomcat</title>
	<atom:link href="http://blog.yslifes.com/archives/tag/tomcat/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yslifes.com</link>
	<description>自己寫java程式的一些筆記</description>
	<lastBuildDate>Wed, 08 Feb 2012 02:26:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.yslifes.com/?pushpress=hub'/>
		<item>
		<title>JApplet與Web Server做溝通</title>
		<link>http://blog.yslifes.com/archives/934</link>
		<comments>http://blog.yslifes.com/archives/934#comments</comments>
		<pubDate>Tue, 26 Apr 2011 11:50:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gson]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Socket]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/934</guid>
		<description><![CDATA[Applet除非是內部或自己使用時，可以直接使用JDBC來連接資料庫，而一般對外開放的服務如果讓Applet直接連接到資料庫，需要開port讓Clinet 的Applet來使用，在安全性上相對的十分危險。 此時可以利用一個中繼的Sokcet Server或是Web Server來當與資料庫連接的proxy代理服務器，如此Apllet只要連接Web Server，對Server提出需求，而Server會依需求與資料庫做溝通，並回傳Applet要求之資料，如此可以做成多層式的架構來解決Applet資料取得之問題。 範例設計上有一個輸入框JTextField可以輸入要傳給Server的資料內容，而下方的JTextArea是承接從Server回傳的資料內容，按鈕則可進行動作Action。 輸入傳送的字串後，按下”按我”可進行資料的傳送POST。 try &#123; &#160; com.yslifes.connect.WebModule web = new com.yslifes.connect.WebModule&#40;&#41;; //使用post把資料傳送到web server端 web.doPost&#40;&#34;http://localhost:8080/AppletGUIServer/Info.jsp&#34;, &#34;data=&#34;+getJTextField&#40;&#41;.getText&#40;&#41;+&#34;&#38;p=1&#34;, null, &#34;utf-8&#34;&#41;; //取回回傳的json資料 com.google.gson.JsonObject json = web.getJSON&#40;&#41;; getJTextArea&#40;&#41;.setText&#40;json.get&#40;&#34;msg&#34;&#41;.getAsString&#40;&#41;&#41;; &#160; &#160; &#160; &#125;catch&#40;Exception ex&#41; &#123; ex.printStackTrace&#40;&#41;; logger.info&#40;ex&#41;; &#160; &#125; 這裡使用到的WebModule可以參考HttpURLConnection來實作get及post動作。 在Console視窗可以看到傳送出去的資料內容： 而在WebServer方面，則可利用request來取得需要資料做處理，再回傳out.print給Applet。 &#60;%@ page language=&#34;java&#34; contentType=&#34;text/html; charset=UTF-8&#34; pageEncoding=&#34;UTF-8&#34; %&#62;&#60;% request.setCharacterEncoding&#40;&#34;utf-8&#34;&#41;; &#160; //取得傳來的參數 System.out.println&#40;&#34;data=&#34;+request.getParameter&#40;&#34;data&#34;&#41;&#41;; System.out.println&#40;&#34;p=&#34;+request.getParameter&#40;&#34;p&#34;&#41;&#41;; &#160; //回傳json [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/934/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsp簡單留言板</title>
		<link>http://blog.yslifes.com/archives/925</link>
		<comments>http://blog.yslifes.com/archives/925#comments</comments>
		<pubDate>Sat, 16 Apr 2011 13:34:05 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/925</guid>
		<description><![CDATA[這個範例有新增留言、查詢留言及留言分頁顯示等功能，後台的管理還沒有建置完成，留言者需要填入標題、顯示名稱、電話、信箱及留言內容，其中電話與電子信箱不顯示在留言列表中，電話及信箱可以為之後後台回覆寄信連絡使用。 當然這還有需多可以增加的功能，像是留言通知、隱私留言、留言刪除等，之後會再慢慢增加。 資料庫使用MySQL資料庫，使用JDBC來連接資料庫(DataSource方式)，記錄檔則是使用log4j。 在新增留言部份，submit之前會先檢查是否有未填欄位，如果檢查通過則會自動建立IFrame來給這個form的target使用，新增完成後會自動回到留言列表的頁面。 查詢留言會對資料的標題及留言內容進行比對，有相同資料就會顯示查詢的結果，如果想進階做一個Search-Engine則可以參考建立自己的搜尋引擎。 最後也就是最重要的資料顯示功能，這裡包含了一個分頁模組，傳入的參數會有s，查詢條件，及p，目前頁數。 範例檢視 資料表 CREATE TABLE `threads` &#40; `post_id` INT&#40;11&#41; NOT NULL AUTO_INCREMENT, `post_name` VARCHAR&#40;150&#41; NOT NULL, `post_title` VARCHAR&#40;300&#41; DEFAULT NULL, `post_mail` VARCHAR&#40;100&#41; DEFAULT NULL, `post_tel` VARCHAR&#40;100&#41; DEFAULT NULL, `post_desc` text, `post_reply` INT&#40;11&#41; DEFAULT NULL, `post_show` VARCHAR&#40;1&#41; DEFAULT '1', `post_state` VARCHAR&#40;1&#41; DEFAULT '1', `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `create_id` INT&#40;11&#41; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/925/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[jsp]常用範例-登入及檢查與登出</title>
		<link>http://blog.yslifes.com/archives/830</link>
		<comments>http://blog.yslifes.com/archives/830#comments</comments>
		<pubDate>Fri, 10 Dec 2010 11:45:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/830</guid>
		<description><![CDATA[登入與登出是很常用到的一個網頁功能，而在製作上原理其實不難，當使用者輸入帳號密碼後，傳至程式，檢查資料庫裡使用者表格table是否存在此使用者，如果存在，則在Session裡存入使用者的個人資訊，而登出時只需要清除此Session記錄，檢查是否登入中，則是check Session是否存在。 此範例程式有幾個小功能： 防止沒登入者使用需要登入的頁面 登入檢查，誰是登入者 Servert載入時自動執行程式 登入畫面，預設的帳號是pig密碼是1234567 測試有沒有登入-沒登入狀況 測試有沒有登入-已登入狀況 登入成功checklogin 網頁無登入導出，如果有登入的話會以下圖 使用MySQL當成範例資料庫，資料表如下 -- MySQL Administrator dump 1.4 -- -- ------------------------------------------------------ -- Server version 5.0.45-community-nt &#160; &#160; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; &#160; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/830/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Jsp技巧]看到錯誤碼?找到Exception位置呢?</title>
		<link>http://blog.yslifes.com/archives/634</link>
		<comments>http://blog.yslifes.com/archives/634#comments</comments>
		<pubDate>Mon, 10 May 2010 22:43:25 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Exception]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/634</guid>
		<description><![CDATA[剛開始學習jsp時，看到了Exception就一個頭二個大，因為好像跟一般Java出現錯誤的表示方式不一樣，Exception的訊息寫的錯誤行數，總跟jsp裡的行數不太一樣？這樣子就不好判斷Exception產生在那裡，進而修改了！ 其實不然，在執行jsp網頁時web-server會把jsp檔先轉換成java檔，再由java檔編譯成class檔，所以要找出錯誤的地方就只需要找到java檔的所在，就可以了。 範例使用的環境是tomcat，Exception直接向網頁丟出，會看大概如下的畫面 可以看到錯誤是java.lan.NullPointException，就是有null的空指標錯誤(翻的不好，應該不能叫指標，java沒有指標) 錯誤訊息由圖上方至圖下面，一個程式一個程式向上丟出的錯誤訊息，也就是說org.apache.jsp_connect_jsp.jspService向org.apache.jasper.runtime.HttpJspBase.service丟出它的錯誤，而org.apache.jasper.runtime.HttpJspBase.service再向javax.servlet.http.HttpServlet.service丟出錯誤，以此類推。 找connect_jsp.java:136行，出NullPointException的地方在connect.jsp這隻程式的第136行，其它列的訊息，因為是系統程式，應該不是真的錯誤來源。 java的package結構，如org.apache.jsp ，也是目錄結構。 所以到tomcat目錄下的work\Catalina\localhost\0502\org\apache\jsp裡找到connect_jsp.java這程式，用記事本打開它。 ps.其中Catalina\localhost是預設的目錄，如果有更改config/server.xml內容，有可能會路徑不同。 ps.0502是網頁的子目錄，例如http://localhost:8080/0502/ 找到第136號錯誤的地方 result = stmt.executeQuery(qq);這行有NullPointException，再來只要解決這個錯誤就可以了。]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/634/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[教學]jsp Web的檔案上傳-FileUpload</title>
		<link>http://blog.yslifes.com/archives/526</link>
		<comments>http://blog.yslifes.com/archives/526#comments</comments>
		<pubDate>Mon, 22 Mar 2010 15:19:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/526</guid>
		<description><![CDATA[這是一個簡單的fileupload程式，把整個upload動作都包裝在UploadTool這個class裡，而在jsp裡再call此class來做檢查及上傳等動作。jar檔需放置WEB-INF/lib/裡，而程式complier後放置WEB-INF/classes/toolkie/裡。 首先需要二個第三方的jar檔 Apache Filupload及Apache common io 都下載Binary的jar檔就可以了 檔案的配制結構如下圖： 再來利用下面的程式來進行上傳作業 UploadTool.java package toolkie; &#160; import java.io.File; import java.io.UnsupportedEncodingException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import java.util.*; &#160; public class UploadTool &#123; private int buffersize = 4096; private int SizeMax = 1024 * 1024;// 1Mbyte最大檔案大小 private File tempfile = null; private String def_upload_dir [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/526/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>(教學)在Ubuntu裡建立Apache with Tomcat 服務-3</title>
		<link>http://blog.yslifes.com/archives/496</link>
		<comments>http://blog.yslifes.com/archives/496#comments</comments>
		<pubDate>Mon, 16 Nov 2009 12:43:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Imagemagick]]></category>
		<category><![CDATA[Jmagick]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/496</guid>
		<description><![CDATA[前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2&#160;&#160;&#160; (教學)在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 在&#60;VirtualHost *:80&#62;&#60;/VirtualHost&#62;tag內增加 &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$ &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; ProxyPass / ajp://127.0.0.1:8009/ &#160;&#160;&#160;&#160;&#160;&#160;&#160; 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是否可用 #sudo vi /etc/tomcat5/webapps/ROOT/testimage.jsp [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/496/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(教學)在Ubuntu裡建立Apache with Tomcat 服務-1</title>
		<link>http://blog.yslifes.com/archives/494</link>
		<comments>http://blog.yslifes.com/archives/494#comments</comments>
		<pubDate>Thu, 12 Nov 2009 12:08:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/494</guid>
		<description><![CDATA[這裡會有一系列Apache 在前而Tomcat在後的JSP Service 包含MySQL及JMagick及ImageMagick的安裝 這裡先介紹安裝Apache MySQL及JDK 6跟tomcat 5 環境是Ubuntu 9.10 (Linux) 1.安裝apache #sudo apt-get install apache2 2.安裝mysql #sudo get-get install mysql-server 這裡需要設定MySQL的root密碼 3.安裝java jdk #sudo apt-get install sun-java6-jdk #sudo vi /etc/profile 加如以下(放到最後一行的前一行) export JAVA_HOME=/usr/lib/jvm/java-6-sun 4.安裝tomcat #cd etc #sudo wget http://ftp.tcc.edu.tw/pub/Apache/tomcat/tomcat-5/v5.5.28/bin/apache-tomcat-5.5.28.tar.gz #sudo tar -zxvf apache-tomat-5.5.28.tar.gz #sudo mv apache-tomcat-5.5.28 tomcat5 #sudo chmod 755 /etc/tomcat5/bin/*.sh #sudo vi /etc/init.d/tomcat5 [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/494/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>java Collection 造成Out of memory?</title>
		<link>http://blog.yslifes.com/archives/362</link>
		<comments>http://blog.yslifes.com/archives/362#comments</comments>
		<pubDate>Mon, 03 Aug 2009 14:08:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[out of memory]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/362</guid>
		<description><![CDATA[除了java.sql.ResultSet以外還有另一個物件組也很容易造成VM把記憶體佔用而不釋放出來， Collection，包含List、ArrayList、Map、Stack、Vector…等等等，在使用這些物件時， 一般狀況下不使用時，VM應該會自動回收，不過經過實驗，當Collection內含複雜內容， 像Map裡包含ArrayList，而ArrayList又包含Stack….等等，當不在使用Map時，其內容並不會被釋放， 所以需要在不使用Collection把內容給clear掉，可以呼叫clear()事件，Collection所佔用的記憶體其實並沒有很大， 所以如果小程式並不會有感覺，可是一放到流量大的Web Server，如tomcat時，很容易就被塞爆記憶體， 形成out of memory，有out of memory時，加上-Xmx數字m，並無法解決問題時，可以檢查看看Collection的使用。 ps.StringBuffer也會有此種狀況產生，故在使用完StringBuffer後記得要利用setLength(1);讓記憶體放出。]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/362/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

