作者qrtt1 (thinking in java)
看板java
標題Re: [問題] 簡單的HELLOWORLD 我不會...
時間Wed Jan 18 17:42:40 2006
習慣觀察後再出手的我,依據您的狀況給點意見好了。
若不是要交作業,時間上的限制就沒有那麼嚴格了。
(心情上請放鬆,別再像無頭蒼蠅一樣有問題就問:))
jsp由1.0版發展到現在2.?版。
由原來的與servlet混合編寫,
慢慢變成以scriptlet為主體的jsp型式。
後來又慢慢提供了tag lib與jstl/el等。
不論如何,你從那一版本開始學,
對有java基礎的人都會建議由servlet開始了解
而無java基礎的人,都會由scriptlet為起點。
所為的scriptlet,就是包含在
<%%>之間的那些code [作業1],
這些code即您的程式邏輯部分。
此部分,請您學會隱含物件[作業2],
當然out會是一個好入門 *笑*
因為您的hello world需要他印出來。
對隱含物件有了一點基本的"概念"之後
接下來是有點需認真對待的問題了。
寫"動態"網頁免不了的是資料傳遞,而資料依不同的scope [作業3]
傳遞的可及之處也不盡相同,有的只能在同一頁使用,
有的最多只能使用1次,有的您走到那,他就跟到那,
更有連其他使用者也能共用的scope,這是需要一一自行實驗體會的
有了這些基礎建設之後,您才有可能學習如何使用資料庫
或是設計討論版。或是針作業本身的內容再加以瞭解
ps. 這是"早期"風格的jsp寫作,等您完成了階段性任務之後,
請大力擁抱jstl、el、JDNI與DB connection pool :)
================================================================
[作業1] 說明,一份.jsp檔中區分
<%@ ... %>
<% ... %>
<%! ... %>
<%= ... %>
各有何用途。
ps. 此題是針對您對jsp結構上有那些"元素"描繪出一點輪廓
略懂大概即可,請先別太鑽牛角尖
[作業2] 請說明「隱含」物件,為何稱為隱含物件。
並自行表列一份,作為查詢之用。
[作業3] 1. 自行表列jsp提供的scope
2. 請有耐心一一驗證您所查來的資料,是否如實驗結果一樣
3. 實驗以<%! %>宣告的的變數或類別其scope大致符合上題何者
※ 引述《coldoll (冷娃娃)》之銘言:
: 首先 在之前的問題
: 我在HTTP://loclalhost:8080 可以看到貓的那個網頁
: 表示我有JAVA的容器了嘛(是這樣的觀念嘛?)
: 我在ROOT資料夾新增一個HelloWorld.jsp的文字檔(還算文字檔嗎= = )
: 用記事本寫了以下這些
: <%@ page contentType="text/html; charset=Big5">
: import="java.util.*"%>
: <HTML>
: <HEAD><TITLE>HelloWorld!</TITLE></HEAD>
: <BODY>
: <%
: out.println("<FONT COLOR = RED >Hello World!</FONT><BR>");
: //將Hello World!!以紅色輸出
: out.println("現在時間");
: out.println(new Date());
: %>
: </BODY>
: </HTML>
: 然後我直接打開這個檔案 視窗的最外圍藍色那個霸子有HelloWorld!的字樣
: 然後網頁內容一片空白
: 接下來我用http://localhost:8080/HelloWorld.jsp 用IE去開
: 然後就跑出以下的錯誤碼
: 希望大家幫我看看 我是哪個環節出了錯 讓我不能好好寫個小小的JSP
: --------------------------------------------------------------------------------
: type Exception report
: message
: description The server encountered an internal error () that prevented it from fulfilling this request.
: exception
: org.apache.jasper.JasperException: /HelloWorld.jsp(1,3) Unterminated <%@ page tag
: org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
: org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
: org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:134)
: org.apache.jasper.compiler.Parser.parseDirective(Parser.java:511)
: org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
: org.apache.jasper.compiler.Parser.parse(Parser.java:126)
: org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
: org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
: org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
: org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
: org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
: org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
: org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
: org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
: org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
: org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
: javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
: note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.20