Re: [JSP ] 關於request.getRemoteHost(),JSP與Ser …

看板java作者 (kucom)時間17年前 (2009/03/03 18:36), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
謝謝! 我有去tomcat\work\Standalone\localhost查看GetEnvVar.java 了解自已的問題了 tomcat會把jsp翻譯成.java 再製成.class 傳回瀏覽器 是因為servlet(java寫法)比較難寫,所以用jsp比較簡單的寫法供user使用, 再讓tomcat是翻譯成.java是嗎? (有錯請指正我 ^^") 再請問: GenericServlet類別中的HttpServletRequest,HttpServletResponse與 ServletRequest,ServletResponse是一樣的嗎? 因為這二者都可以取得環境變數 (1) import java.io.*; import java.util.*; import javax.servlet.*; public class GetEnvVar extends GenericServlet { public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { ServletContext sc=getServletContext(); res.setContentType("text/plain"); ServletOutputStream sos=res.getOutputStream(); PrintWriter pw=new PrintWriter(sos,true); pw.println("遠端主機名稱:"+req.getRemoteHost()); } } (2) import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class GetEnvVar2 extends HttpServlet { public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { ServletContext sc=getServletContext(); res.setContentType("text/plain"); ServletOutputStream sos=res.getOutputStream(); PrintWriter pw=new PrintWriter(sos,true); pw.println("遠端主機名稱:"+req.getRemoteHost()); } } 我的問題是: (1)程式中的GetEnvVar繼承GenericServlet, GenericServlet提供ServletRequest,ServletResponse物件, 故可用GetRemoteHost()方法 那(2)程式中的GetEnvVar2繼承HttpServlet,HttpServlet繼承GenericServlet, GetEnvVar2定義service()方法,提供HttpServletRequest req及 HttpServletResponse res二個物件 為什麼可以用HttpServletRequest的req.getRemoteHost()得知主機名稱? getRemoteHost()不是需由ServletRequest的req.getRemoteHost得知... 這些物件,類別間的關係及角色是...? ※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 有的時候,書還是很重要的 : 一本扎實像樣的 JSP 書籍,應該會告訴你這些東西 : ※ 引述《kucom (kucom)》之銘言: : : 為什麼JSP寫法(第一個程式)直接寫request.getRemoteHost()就可得知主機名稱, : : 而Servlet的寫法卻須告知誰繼承誰,建立req物件等等... : : Servlet程式只要是有import javax.servlet.* 就是指Servlet伺服器程式嗎? : : 是不是有固定的寫法? : : Java與Java Servlet,Java Applet,JSP之間的關係,意義是什麼? : JSP base on Servlet : 只是 container 自動幫你把 .jsp 轉成 Servlet : Servlet base on Java : 所有的 Servlet 都是 .java : 你可以去你的 container 底下找一下 jsp 轉出來的 servlet : 很多問題就不是問題了(或是你也就不想深究了 XD) : 至於把 applet 扯進來,感覺就變成是來亂的... ==" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.51.170

03/04 00:54, , 1F
請有基本 OO 概念,然後查 API
03/04 00:54, 1F
文章代碼(AID): #19hGWmIv (java)
文章代碼(AID): #19hGWmIv (java)