Re: [JSP ] 關於request.getRemoteHost(),JSP與Ser …
謝謝!
我有去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
03/04 00:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):