Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

Hướng dẫn Hosting JSP/Servlet.

1. Vào trang http://s41.eatj.com/ màn hình như sau:
hosting_jsp_01.png
Ta tạo 1 Account miễn phí
hosting_jsp_02.png
Nhấn nút sign Up, check mail của bạn. Nhấn link confirm để kích hoạt tài khoản. Sau đó đăng nhập hệ thống
hosting_jsp_03.png
Sau khi đăng nhập thành công, chúng ta sẽ có màn hình điều khiển như sau:

hosting_jsp_04.png Nhấn nút Create để tạo Tomcat của bạn. Nhấn link RESTART để việc thay đổi có hiệu lực.
hosting_jsp_05.png Nhấn nút Change để đổi sang JDK 6 nếu bạn muốn
hosting_jsp_06.png Bạn nhấn vào link bạn sẽ có 1 hướng dẫn tạo 1 trang mới từ wordpress. Nếu bạn muốn phát triển trang web của bạn, bỏ qua bước này.
hosting_jsp_07.png Bạn có thể mở 1 trình quản lý FTP nào đó, chẳng hạn TotalCommander, hay CuteFTP,… với host, port hướng dẫn trên hình để việt upload được nhanh chóng hơn. Nếu không, bạn nhấn nút Browse.. để chọn file WAR cần upload, Nhấn nút Upload và đợi.

OK! Bây giờ bạn có 1 domain tên http://vovanhai.s155.eatj.com/ và đã có host để upload trang JSP của bạn. Mở trình duyệt, gõ địa chỉ trên, bạn sẽ thấy cửa sổ Tomcat của bạn.
hosting_jsp_08.png
Nhấn link Tomcat Manager, bạn buộc phải nhập vào username, password
hosting_jsp_09.png
Bạn nhập username là admin, password là mật khẩu đăng nhập website bạn đã đăng ký:
hosting_jsp_10.png

Bạn có thể upload WAR file của bạn rồi đấy. Để thiết lập Database , bạn tham khảo trang sau:

Quản lý CSDL với PHP MyAdmin

44 Responses to “Hướng dẫn Hosting JSP/Servlet.”

  1. “Để thiết lập Database , bạn tham khảo trang sau:”

    Sao ko thấy viết tiếp vậy bro ?

  2. vovanhai said

    sorry! đã update!

  3. anh nguyên said

    Thưa thầy .cho em xin ý kiến ạ : em làm xong 1 ứng dụng web ,muốn tạo 1 web server để ứng dụng có thể chạy trực tiếp trên máy của mình.em không muốn mua host vì muốn tự chủ về kỹ thuật cũng như công nghệ.Em search mãi mà không tìm thấy tài liệu nào nói về việc này .thầy có thể góp ý cho em không ạ ?
    Xin cám ơn thầy ^_^ .

  4. vovanhai said

    Thì lâu nay khi lập trình jsp em phải có 1 webserver mới làm việc được chứ. Tomcat là 1 Webserver chạy local đó. Ngoài ra còn rất nhiều thứ nữa!

  5. anh nguyên said

    không phải .em tạo server chỵa trên local rồi .nhưng em muốn public ứng dụng web của mình lên internet .em đã có domain ,muốn tạo 1 home server để trỏ domain đó vè thì làm thế nào thầy ? ^_^

  6. vovanhai said

    Muốn publish project thì phải đóng gói nó lại thành file war. Dùng tool jar của JDK hoặc trong eclipse vào menu file->Export to War file.

  7. Vuongtm said

    Chao VoVanHai
    Về cơ bản để tạo 1 Homserver:
    1. Đăng kí 1 tên miền ( có thể dùng free)
    2. Cài đặt một phần mềm liên tục cập nhật lại IP cho tên miền đó mỗi khi bị thay đổi ( DNSUpdate, NoIP,…)
    3. NAT Modem ADSL để chuyển các request từ Internet về máy chủ Local

    OK
    lên google serach từ khóa homserver có rất nhiều tài liệu
    Tôi đã cấu hình chạy ổn rồi kể cả làm VPN nữa, dòng modem Zoom X5 rất dễ làm
    Thân ( Hi vọng bạn đã làm được rồi)

  8. vovanhai said

    Cám ơn rất nhiều. Bạn có thể chỉ từng bước cho các bạn khác cùng làm hoặc bạn mail cho tôi để tôi pub cho mọi người.

  9. Trần Thế Hiển said

    Sao khi run là nó cứ báo thế này
    Waiting for Tomcat…
    Tomcat server started.
    In-place deployment at E:\Documents and Settings\Rio\My Documents\NetBeansProjects\DemoLogin\build\web
    deploy?config=file:/E:/DOCUME~1/Rio/LOCALS~1/Temp/context6946625791854980273.xml&path=/DemoLogin
    Server returned HTTP response code: 400 for URL: http://localhost:8080/manager/deploy?config=file:/E:/DOCUME~1/Rio/LOCALS~1/Temp/context6946625791854980273.xml&path=/DemoLogin
    E:\Documents and Settings\Rio\My Documents\NetBeansProjects\DemoLogin\nbproject\build-impl.xml:545: The module has not been deployed.
    BUILD FAILED (total time: 42 seconds)

    Thầy em nói do bản IDE netbean lỗi nhưng em đã đổi mấy bản rồi mà vẫn bị mong a hải giúp em

  10. Leny De[v]on said

    Em làm web jsp với database là 1 file access,tất cả code em đều gõ bằng tay với Notepad++, rồi dùng jdbc.odbc để liên kết, em chạy thử trên localhost:8080 với TomCat ngon lành rồi, giờ em muốn nén thành file .war và đưa lên 1 host support jsp thì làm thế nào ạ. Mong thầy hồi âm sớm nhé, thầy có thể add nick em để liên lạc cho dễ nhé
    lenydevon@yahoo.com

  11. vovanhai said

    em dùng tools có trong %JDK_HOME%\bin\.
    Cụ thể là em đóng gói bằng command như sau:
    jar -cvf ten_file_jar.jar thumuc1/*.class thumuc2/*.jsp thumuc3/*.xml
    ví dụ: jar -cvf test.jar *.jsp WEB-INF/*.xml src/*.class

    Chúc vui!

  12. Em đăng ký host nhưng nó yêu cầu phải thanh toán mới kích hoạt cho mình sử dụng được

  13. tung said

    Em da dang ki nhung khi dang nhap sao khong duoc ah ? No yeu cau tai khoan gi do

  14. Lê Mẫn said

    Em làm web bằng JSP với NetBean, kết nối CSDL SQL Server qua JDBC:ODBC, chạy trên Tomcat ngon lành, thầy cho em hỏi là khi em xuất Project của mình ra file *.wav để up lên host thì ứng dụng web của em có còn truy cập được CSDL (như đã chạy trên Tomcat) không ạ…
    Em đang rất cần, mong thầy hồi âm …
    Cảm ơn thầy !

  15. Võ Văn Hải said

    file war chứ không phải wav.
    Vân đề là CSDL của em ở đâu? có truy xuất được từ host của em không?

  16. “Vân đề là CSDL của em ở đâu? có truy xuất được từ host của em không?”
    Đây là vấn đề đương nhiên đầu tiên ^_^
    Ngoài ra,nếu bạn muốn thao tác với csdl trên host giống như trên local thì bạn nên xác định bạn muốn
    truy xuất vào csdl thuộc hệ quản trị csdl nào (MySql,Sql Server, Oracle,…),sau đó bạn lên mạng tìm thư viện kết nối tương ứng và tìm hiểu cách kết nối đến csdl qua thư viện đó, giống như trên local bạn phải thêm thư viện JDBC đó. Chúc bạn thành công!

  17. PS:
    @Anh Hải: Bài viết của anh rất hữu ích với em, nhưng em đang muốn tìm hiểu để làm sao khi mình thuê một host Linux mà họ chưa cài đặt Tomcat cho mình nhưng họ cho phép mình cài đặt thì mình làm thế nào ạ? Em đã xem một số bài viết hướng dẫn chạy chung với Apache nhưng em chưa hiểu rõ lắm,hi.Nói tóm lại,em ước anh có một bài hướng dẫn cách cài đặt Tomcat trên một server Linux để có thể publish web của mình lên đó. Và theo kinh nghiệm của anh,một website giới thiệu sản phẩm viết bằng Struts 2 thì Tomcat có là lựa chọn phù hợp không ạ?

  18. Giai Trần said

    thầy ơi cho e hỏi là publish 1 ứng dụng EJB thì cách làm có giống với của thầy ko? Và server của e dùng là Glassfish, database của e dùng là SQL Server

  19. Võ Văn Hải said

    Thì bạn phải cần host khác. cấu hình cũng khác.

  20. Giai Trần said

    thanks thầy nhiều

  21. DTD said

    Trong trang web của tôi có phần gọi servlet để đọc file text !
    Làm sao để upload file text đó lên host để đọc vậy ??? Trên locallhost đọc dc nhưng lên web thì không được !

  22. Võ Văn Hải said

    bạn dùng ftp để upload file lên sao không được nhỉ?

  23. Lai said

    Cho em hỏi , em đã up file .War len tomcat thanh công và chạy được, nhưng em có dùng một số thư viện đặc biệt nên em phải copy thư viện này vào tomcat(trong lib) nó mới chạy (đó là khi chạy localhost) nhưng ở đây tomcat trên server vạy em phải làm sao để up thư viện vào tomcat trên server thưa thầy.

  24. Võ Văn Hải said

    Khi tổ chức file WAR thì bạn có thư mục WEB-INF trong đó bạn tạo thư mục lib rồi bỏ file thư viện của bạn vào đó.

  25. huy bình said

    e đã up web jsp theo như thầy hd, nhưng nó ko chạy. có phải chăng do kết nối với data hay đóng gói file hả thầy. e dùng fpt up file lên \webapps (nhưng ko đóng gói file .war vì không biết) và đã sửa urlconnectdata theo host hướng dẫn (nhưng driver thì sửa ra sao và user và pass data có ko)
    mong thầy giúp e, host này free có 9day hay sao ấy!

  26. Võ Văn Hải said

    phải đóng gói file war, yêu cầu của cái server nó như vậy!

  27. Nguyen Van Cuong said

    Anh Hải ơi. em đang làm cái web jsp có struts. em chỉ dùng tiles để làm template thôi. khi em đưa lên thì bị báo lỗi
    “The absolute uri: http://struts.apache.org/tags-tiles cannot be resolved in either web.xml or the jar files deployed with this application”
    e ko biết đó là lỗi gì nữa

  28. Vu Thi Thu Tinh said

    Thầy ơi cho e hỏi nếu em dùng framword struts (tiles) để làm template thì e phải làm thế nào để úp lên ak. e úp thử rồi mà ko chạy được. bị lỗi “org.apache.jasper.JasperException: The absolute uri: http://struts.apache.org/tags-tiles cannot be resolved in either web.xml or the jar files deployed with this application”

  29. Võ Văn Hải said

    Khi đóng gói phải gồm cả library đủ nhé!

  30. Vu Thi Thu Tinh said

    E đóng đầy đủ các framwork trong file lib lun mà cũng hook được. chắc là phải khai báo gì trong file xml hay sao ấy

  31. Duc said

    Tăng Văn Đức said
    Em thiết kế lam web trên eclip chạy trên server Tomcat ngon lành rồi nhưng khi đưa lên host không chay vì không đọc được file web-inf\web.xml

  32. Tuan Anh said

    Cho em hỏi khi dùng servlet, jsp thuần túy thì deploy lên server chạy được. Nhưng nếu dùng framework (struts2, jsf…), đại loại là phải add thêm vài gói .jar thì deploy lên nó cứ báo lỗi “FAIL – Application at context path /Struts2 could not be started” (Struts2 là tên project của em). Trong khi e chạy trên tomcat localhost vẫn dc, em cũng đã đóng gói đầy đủ thư viện rồi mới deploy lên. Thầy xem dùm e với, tnks !

  33. Võ Văn Hải said

    Cho em hỏi khi dùng servlet, jsp thuần túy thì deploy lên server chạy được. Nhưng nếu dùng framework (struts2, jsf…), đại loại là phải add thêm vài gói .jar thì deploy lên nó cứ báo lỗi “FAIL – Application at context path /Struts2 could not be started” (Struts2 là tên project của em). Trong khi e chạy trên tomcat localhost vẫn dc, em cũng đã đóng gói đầy đủ thư viện rồi mới deploy lên.
    bạn chắc là đủ thư viện?
    1. tạo thư mục lib trong thư mục WEB-INF.
    2. copy tất cả file jar mà bạn có dùng vào thư mục này.
    3. đóng gói và triển khai

  34. thầy cho em hoi server tren host như thế này thì chuỗi kết nối sẽ như thế nào em thử nhiều cách mà vẫn không được
    chuỗi như thề này trên sever phpmysql
    72.13.93.200:3307 Database: nobeta911

  35. Xuan Hieu said

    Thay cho em hoi. Sau khi em xay dung mot ung dung web jsp tren jbuilder 2006, Tomcat 5.5 va ket noi du lieu toi MySQL. San pham cua em da chay ngon lanh, da tuong tac voi CSDL. Bay gio viec cua e la dong goi san pham nay thanh mot file war nhu thay noi o tren. CSDL em xay dung thi em da backup ra roi. O ben phpMyAdmin em da import Database thanh cong. Thay co the chi cach cho em dong goi san pham thanh file war duoc khong ah.

  36. Cuong said

    Thầy có thể hướng dẫn em đưa webservice cùng với CSDL lên internet được không ạ

  37. Thầy ơi! Thầy có biết host nào khác giống như host thầy giới thiệu mà free không ạ. Host này cho 11 ngày…

  38. phunghop27 said

    Thầy cho e hỏi
    e đã up csdl lên host
    khi chạy trên web trên máy kết nối vs csdl trên thì chạy và xuất dữ liệu bình thường
    nhưng khi đóng gói thành file war và up lên host chạy thì nó lại ko đọc được dữ liệu trong csdl

  39. Sơn said

    Thầy cho em hỏi. Em up lên và đã chạy được nhưng mỗi khi restart server “STOP / RESTART your server ” thì trang web của em lại bị lỗi.
    Nó vẫn hiện ra màn hình đăng nhập, nhưng khi đăng nhập thì nó báo lỗi này :

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: Error instantiating servlet class quanlytochuc.hethong.control.TrangChu
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)
    root cause

    java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.tomcat.util.http.fileupload)
    java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    java.security.AccessController.checkPermission(AccessController.java:546)
    java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
    sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:298)
    java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1616)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    quanlytochuc.hethong.control.TrangChu.(TrangChu.java:61)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    java.lang.Class.newInstance0(Class.java:355)
    java.lang.Class.newInstance(Class.java:308)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)
    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.

    Mong thầy xem giúp

  40. khoa said

    thưa thầy.e đã làm như thầy nhưng tới bước đăng nhập vào tomcat manager thì nó lại không đăng nhập được.nó cứ hiện lại form đăng nhập.e đã thử đi thử lại vẫn thế
    như vậy e làm thiếu ở bước nào ạ? mang thầy giải đáp

  41. Trần Thị Thuỷ said

    Chào thầy!
    Em đã up website của em lên host, nhưng nế vào các serverlet lại báo lỗi, các trang jsp thì vẫn vào được, Thầy cho em hỏi làm sao để chạy các trang serverlet đó ạ?

  42. axi said

    Cho em hỏi làm sao để đưa database của SqlServer lên host này ạ. Em làm web bằng jsp- servlet và dùng MS SQL server 2008 nhưng không biết làm thế nào dể đưa cơ sở dữ liệu lên

  43. nguyễn thị thành said

    thầy cho em hỏi mình tải lên rồi mà nó báo false là bị lỗi gì ạ.

  44. Cong Thanh Tran said

    Bài viết hay quá, em cảm ơn thầy

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.