nameCounter.jsp 文件<%@ page language="java" isErrorPage="false" %>
<%@ page buffer="16k" autoFlush="true" %>
<%@ page info="Name Counter JSP. Counts the number of "+
    "letters in the submitted name." %>
<%@ page contentType="text/html" %><HTML>
<HEAD>
<TITLE>Name Counter JSP Results</TITLE>
</HEAD>
<BODY>
<FONT SIZE="4">
<% int flen = request.getParameter("FNAME").length(); %>
<% int llen = request.getParameter("LNAME").length(); %>
<%= request.getParameter("FNAME") %> 
has 
<%= flen %> 
characters </BR>
<%= request.getParameter("LNAME") %> 
has 
<%= llen %> 
characters </BR>
<HR WIDTH="100%"></BR><% out.println("Your name is " + (flen + llen) +" long"); %> </FONT>
</BODY>
</HTML>
------------------------------------------------------------------------------
-----
GetName.html 文件<HTML>
<HEAD>
<TITLE>JSP form Processing Example - Input</TITLE>
</HEAD>
<BODY>
<FORM NAME="JSPForm" METHOD="GET" ACTION="http://127.0.0.1:8080/formProcessing
JSP/nameCounter.jsp">
Enter First Name: <INPUT TYPE="text" NAME="FNAME" VALUE="">
<BR>
Enter Last  Name: <INPUT TYPE="text" NAME="LNAME" VALUE="">
<BR>
<INPUT TYPE="submit" VALUE="Continue">
</FORM>
</BODY>
</HTML>
--------------------------------------
web.xml 文件<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    
<web-app>
    
    <welcome-file-list>
        <welcome-file>nameCounter.jsp</welcome-file>
    </welcome-file-list>
</web-app>
----------------------------------------------但是实现时却出现type Exception reportmessage description The server encountered an internal error () that prevented it from
 fulfilling this request.exception org.apache.jasper.JasperException: /nameCounter.jsp(3,0) Unterminated &lt;%@ p
age tag
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServ
letWrapper.java:510)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.
java:375)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:31
4)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.apache.jasper.JasperException: /nameCounter.jsp(3,0) Unterminated &lt;%@ p
age tag
        org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHa
ndler.java:39)
        org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.ja
va:405)
        org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.ja
va:130)
        org.apache.jasper.compiler.Parser.parseDirective(Parser.java:520)
        org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
        org.apache.jasper.compiler.Parser.parse(Parser.java:126)
        org.apache.jasper.compiler.ParserController.doParse(ParserController.j
ava:211)
        org.apache.jasper.compiler.ParserController.parse(ParserController.jav
a:100)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.
java:563)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.
java:303)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:31
4)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/
5.5.17 logs.
有谁可以帮帮忙啊?谢谢~~
--

解决方案 »

  1.   

    可能是<% %>这两个符号你用的输入法不是英文的
      

  2.   

    <%@ page info="Name Counter JSP. Counts the number of "+
        "letters in the submitted name." %>
    把这句话删了试试
      

  3.   

    我是是刚学JSP的,突然想到,会不会因为我的javax.servlet包还没有导入的原因?因为刚才我javac一个普通java程序,有 import javax.servlet.*; 它都报错了
      

  4.   

    <%@ page language="java" isErrorPage="false" %>
    <%@ page buffer="16k" autoFlush="true" %>
    <%@ page info="Name Counter JSP. Counts the number of "+
        "letters in the submitted name." %>
    两行可以去掉
    -------------------------------
    <%@ page contentType="text/html" %>
    可以改成:<%@ page contentType="text/html;charset=gb2312" %>
      

  5.   

    谢谢楼上的回答,改了还是不行,出现
    Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /nameCounter.jsp:96: </HEAD>
    7: <BODY>
    8: <FONT SIZE="4">
    9: <% int flen = request.getParameter("FNAME").length(); %>
    10: <% int llen = request.getParameter("LNAME").length(); %>
    11: <%= request.getParameter("FNAME") %> 
    12: has 
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.nameCounter_jsp._jspService(nameCounter_jsp.java:50)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)的错误