tomcat+j2sdk已经配置过
http://127.0.0.1:8080/index.jsp
可以成功运行!
而下面的程序放在和index.jsp同目录下出现错误:
exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 1 in the jsp file: /chineseStringExample1.jspGenerated servlet error:
    [javac] Compiling 1 source fileD:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\chineseStringExample1_jsp.java:43: illegal start of expression
public String codeToString(String str)
^An error occurred at line: 24 in the jsp file: /chineseStringExample1.jspGenerated servlet error:
D:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\chineseStringExample1_jsp.java:69: ';' expected
  else
  ^
2 errors
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:315)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)--------------------------------------------------------------------------------
jsp程序全文如下:
<%@page contentType="html/text;charset=gb2312"%>
<%
public String codeToString(String str)
{
 String s=str;
 try
  {
   byte tempB[]=s.getByte("ISO=--8859-1");
   s=new String(tempB);
   return s;
  }
 catch (Exception e)
 {
  return s;
 } 
}
%>
<html>
 <body>
  <form name="form1" action="chineseStringExample1.jsp" method="post">
  请输入你的姓名:
  <input type="text" name="username">
  <input type="submit" name="submit" value="提交">
  </form></br>
  <%
  if(request.getParameter("username")==null)
   out.println("你没有输入姓名!")
  else
   out.println("你输入的姓名是:"+codeToString(request.getParameter("username"))); 
  %>
 </body>
</html>

解决方案 »

  1.   

    所缺少的";"加上去之后还有一个错误!在线求助!
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 1 in the jsp file: /chineseStringExample1.jspGenerated servlet error:
        [javac] Compiling 1 source fileD:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\chineseStringExample1_jsp.java:43: illegal start of expression
    public String codeToString(String str)
    ^
    1 error
    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:315)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
      

  2.   

    if(request.getParameter("username")==null)
       out.println("你没有输入姓名!")----------------------------------------最后没有分号
      

  3.   

    String s=str;
    后面str应加""这个.
    你看看
      

  4.   

    To: zhkchi(火焰神▲▲▲▲▲▲) 分号已经加上,结帖的时候给你加分
    To:  yulunxing() str后面加上""后错误还在,结帖的时候给你加分继续求助!
      

  5.   

    jsp中不能定义方法,因为jsp编译时会把代码放到一个方法中,如果在jsp中定义了方法就会导致编译错误。
    你可以把这个方法写到一个javabean中,然后在jsp中调用
      

  6.   

    在jsp中不可以写方法,整个jsp编译以后就是一个方法了,你要在写一个javabean,通过javabean调用该方法。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  7.   

    ?
    javabean怎么写
    实在是新手
      

  8.   

    简单的说就是把你的方法写到一个class中
    然后就和在普通java程序中调用那个class一样的用法
    在jsp头部加上import信息<% page import="你所写的class" %>
      

  9.   

    写个bean
    package StrBean;
    public class toStr
    {
     public String codeToString(String str)
     {
      String s=str;
      try
       {
       byte tempB[]=s.getByte("ISO=--8859-1");
       s=new String(tempB);
       return s;
      }
     catch (Exception e)
     {
      return s;
     } 
    }}
    chineseStringExample1.jsp
    <%@ page..........%>
    <html>
    <jsp:useBean id="tostr" scope="page" class="StrBean.toStr">
      

  10.   

    1。
    <%
    public String codeToString(String str)
    {
    这个地方改写为:
    <%!
    public String codeToString(String str)
    {
    2。   out.println("你没有输入姓名!")
    这个地方改为:out.println("你没有输入姓名!");
    3。byte tempB[]=s.getByte("ISO=--8859-1");
    这个地方改为:
    byte tempB[]=s.getBytes("ISO=--8859-1");

    这样看看
      

  11.   

    在JSP文件中声明变量或者方法,应该用<%!……%>,而不是<%……%>
      

  12.   

    如果你非要把过程写在jsp里的话, 参考 climb011358(程序员) 的;如果觉得上面的不安全或者不好,就写bean或servlet, 详细参考  wsk_228(qing_feng) 的;
      

  13.   

    <%@page contentType="html/text;charset=gb2312"%>
    <%!
    public String codeToString(String str)这样就可以了