2013年1月9日 星期三

Jack大大教我java(JSP)



老天尊: 我直接看這opensource 好像跳太快了吼

老天尊: 太多東西沒概念了

Jack: 嗯,你會很茫然

Jack: 會java後在學 j2ee

Jack: 這是j2ee的東西

老天尊: java太多名詞要學了

Jack: java就是東西很多

老天尊: java j2ee jre jvm servlets

Jack: 不只這些

老天尊: 你寫了多久才能摸出大概

Jack: 其實要看是否有其他語言的經驗

Jack: 每個人的狀況都不同

Jack: 先會oo 的概念比較重要

Jack: 其他都是應用面

老天尊: java的oo感覺比較正統

Jack: 嗯

老天尊: 以前寫php php沒多重繼承...

老天尊: perl更不用說了 0.0

Jack: java也沒多重繼承

Jack: 只有c++有

老天尊: 原來如此

老天尊: 你考過scjp那些東西嗎

Jack: 有, 只是考這是老師規定的, 沒必要考

老天尊: jsp通常用什麼編輯器

Jack: eclipse

老天尊: java ee 這版?

Jack: m

老天尊: java ee 算免費的對吧

Jack: 嗯

Jack: 進階版要錢 => myeclipse

老天尊: jsp和servlet 感覺是風格不同的寫法 通常要會哪種

Jack: 1.如果與前端結合用jsp比較好,2.jsp比servlet好驗證,因為servlet要加設定而且要restart server

老天尊: 那為甚麼會有servlet呢 servlet有什麼好處

老天尊: jsp是 servlet之後的產物是嗎

Jack: 嗯,jsp 編譯後就是 servlet

老天尊: 那那些 Struts/Spring/Hibernate 都是在jsp之上對吧? 還是在servlet之上?

Jack: 如果html code不會很多建議用servlet

Jack: ssh是框架

老天尊: 是建構在jsp之上嗎

Jack: Struts 與 Spring多會用到jsp

老天尊: html code不會很多建議用servlet => 為何? 跑比較快?

Jack: 工具 debug方便

老天尊: 你意思是 servlet 可以設中斷點去debug , jsp不行?

Jack: 嗯,jsp只有在麼些web server可下break point

老天尊: 某些 @@?

Jack: jboss可下,tomcat不能

老天尊: 喔喔

老天尊: jboss 是開源 也是免費的吧!? 那就用jsp+jboss 這樣開發算最完美嗎

Jack: 而且jsp映出error有時看不懂

老天尊: = ="

Jack: jboss 不好設定

Jack: 建議不要用

老天尊: 瞭解....

Jack: 但效能比較好

老天尊: 我寫servlet 改東西後都要過一陣子console跑
一月 09, 2013 12:58:39
資訊: Reloading Context with name [/HelloWorldServlet] has started
一月 09, 2013 12:58:39
資訊: Reloading Context with name [/HelloWorldServlet] is completed

老天尊: 跑這訊息後才會反應 @@

Jack: 改servlet 會restart server所以比較慢

老天尊: 是喔

老天尊: 這樣不是對開發很不友善嗎 = =

Jack: 你用jsp就不會重啟, java 是編譯語言跟直譯語言不同

2013年1月8日 星期二

jsp連結mysql資料庫範例

http://jjnnykimo.pixnet.net/blog/post/21585335-jsp%E9%80%A3%E7%B5%90mysql%E8%B3%87%E6%96%99%E5%BA%AB%E7%AF%84%E4%BE%8B



从www.mysql.com上下載Connector/J(mysql-connector-java-5.1.0.zip),解壓縮,

拷贝其中的mysql-connector-java-5.1.0-bin.jar到WEB-INF目录下或tomcat的lib下面
( 一說 設定該檔案到windows的環境變量中 )

建立test.jsp,重新啟動tomcat即可

JSP 清除瀏覽器cache

How do you clear the browser cache in jsp?
http://wiki.answers.com/Q/How_do_you_clear_the_browser_cache_in_jsp

<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

2013年1月7日 星期一

安裝 jappix + ejabberd 實現XMPP

系統:win7

安裝ejabberd (XMPP Server)  選Window Installer 用exe檔安裝
http://www.process-one.net/en/ejabberd/downloads

裝好後點選介面啟動服務
http://localhost:5280/admin/
帳號: admin@BHSIUTWHP1 , 密碼: xxx


下載jappix ( XMPP Client )
https://project.jappix.com/downloads
解壓縮至localhost
安裝
Hosts
Main host - bhsiutwhp1  ( 安裝ejabberd時的設定 )
Groupchat host - muc.bhsiutwhp1
Pubsub host - pubsub.bhsiutwhp1
Anonymous host - anonymous.bhsiutwhp1
Directory host - vjud.bhsiutwhp1
BOSH host - http://bhsiutwhp1:5280/http-bind


http://localhost/jappix/
啟動服務,註冊帳號,可在 http://localhost:5280/admin/ 的後台管理

開發jappix
C:\AppServ\www\jappix\store\conf\main.xml 的設定 讓developer 為on 使得修改js, css 個別的檔案時能即時反應

2012年12月24日 星期一

Openfire 開發

下載 src 的
不用裝 Tomcat,要裝Apache ant,用ant在 cmd下的
D:\openfire_src\build >  ant(需設定path、環境變數,不需安裝,即可直接執行)
去build 程式,因為openfire 是抓jar檔


用 D:\openfire_src\target\openfire\bin\openfire.bat 啟動服務

JSP

jdk和jre有什么区别?
http://zhidao.baidu.com/question/55791862
總結:開發者安裝 jdk,安裝jdk7.0後能在命令提示字元打java後有指令反應

怎样查JDK安装在哪儿的
http://zhidao.baidu.com/question/323673737.html?fr=fd

JSP开发必备:环境配置图文详解
http://tech.it168.com/a2011/0613/1203/000001203275_all.shtml
安裝Tomcat 選 "32-bit/64-bit Windows Service Installer"

裝好後Tomcat 後台 http://localhost:8080 點manager webapp
設定後台帳號密碼:
修改 C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\tomcat-users.xml
要把他的存取權限打開,確認有修改到後重新啟動Tomcat才能登入
<tomcat-users>

  <role rolename="manager-gui"/>
  <user username="tomcat" password="s3cret" roles="manager-gui"/>
</tomcat-users>
更多的Tomcat
http://amos-tsai.blogspot.tw/2010/04/javatomcat.html

2012年12月22日 星期六

win7 安裝openfire + jwchat 與 Spark通訊

先安裝 openfire,windows直接安裝.exe檔
http://blog.csdn.net/simonhe1973/article/details/3789091

安裝jwchat (直接解壓縮即可)
http://blog.csdn.net/simonhe1973/article/details/3790114
使用VM 的rename改檔名

rename ".js.zh_CN" ".js" *.js.zh_CN
rename ".html.zh_CN" ".html" *.html.zh_CN
或用 sublime 的列模式 把ls出來的檔案改成
mv xxx.js.js xxx.js


httpd.conf 底下直接新增

AddDefaultCharset UTF-8
Options +MultiViews
RewriteEngine On
ProxyPass /http-bind/ http://10.10.4.41(我的ip):7070/http-bind/


在OpemFire的管理控制台增加两个服务器属性:
xmpp.httpbind.client.requests.polling = 0
xmpp.httpbind.client.requests.wait = 10


http://www.blogjava.net/hoojo/archive/2012/05/17/378444.html

7、 如果登录出现Authorization failed验证失败,那么有以下几种可能的情况:

A、 用户没有注册 (可去後台看有無帳號)

B、 openfire的证书(C:\Program Files\openfire\resources\security)没有安装到相应的jdk的C:\Program Files\Java\jre6\lib\security目录下

如果出现这种异常信息:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed也表明是安全证书的问题;

关于解决ssl验证,网上有人说在jsjac.js中的if(this.has_sasl) 这行前面加上this.has_sasl = false;来取消ssl安全证书的验证。 (重開電腦後才行)

C、 如果你的工程名称不是jwchat,建议把它修改成jwchat并且修改config.xml的相关链接的配置(httpbase)

D、 还有可能是你当前的用户没有注册,这个时候你可以注册一个用户或是在openfire控制台的用户组中添加一个用户,然后再等了看看是否存在这个问题。

openfire啟動時出現error:
http://community.igniterealtime.org/thread/43575
You can set it to "Run As Administrator" by default or right click and Run as administrator manually...