Login.jsp代码:<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html> 
<head>
<title>JSP for WebLoginForm form</title>
</head>
<body>
<html:form action="/webLogin">
password : <html:password property="password"/><html:errors property="password"/><br/>
name : <html:text property="name"/><html:errors property="name"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
WebLoginAction:package example.baodian.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import example.baodian.form.WebLoginForm;
public class WebLoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
WebLoginForm webLoginForm = (WebLoginForm) form;// TODO Auto-generated method stub
if(webLoginForm.getName().equals("abc")&&webLoginForm.getPassword().equals("123")){
return mapping.findForward("success");
}
return mapping.findForward("fail");
}
}
WebLoginForm:package example.baodian.form;
import org.apache.struts.action.ActionForm;
public class WebLoginForm extends ActionForm {
private String password;
private String name;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
struts-config.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="webLoginForm" type="example.baodian.form.WebLoginForm" />
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="webLoginForm"
      input="/Login.jsp"
      name="webLoginForm"
      path="/webLogin"
      scope="request"
      type="example.baodian.action.WebLoginAction">
      <forward name="success" path="/LoginSuccess.jsp" />
      <forward name="fail" path="/login.jsp" />
    </action>
  </action-mappings>
  <message-resources parameter="example.baodian.ApplicationResources" />
</struts-config>在IE里输入http://127.0.0.1:8080/StrutsExample/Login.jsp时报错如下:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:520)
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)
root cause java.io.FileNotFoundException: no such file: C:\Tomcat 5.0\work\Catalina\localhost\StrutsExample\org\apache\jsp\Login_jsp.class
org.apache.jasper.compiler.SmapUtil$SDEInstaller.<init>(SmapUtil.java:248)
org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:236)
org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:163)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:429)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
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.

解决方案 »

  1.   

    我这个是书上的例子,已经发布到C:\Tomcat 5.0\webapps下了。
      

  2.   

     我也遇到了这样的问题啊。是TOMCAT的问题。但是我不知道是什么问题。希望那为高手能帮助一下啊。
      

  3.   

    我重新做了一遍 现在还是有错误 
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\StrutsExemple\org\apache\jsp\login_jsp.java:7: cannot access java.lang.Object
    Generated servlet error:
    bad class file: F:\MyEclipse\jre\lib\rt.jar(java/lang/Object.class)
    class file has wrong version 49.0, should be 48.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase
                 ^
    1 error org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    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)
      

  4.   

    我重新做了一遍 现在错误如下:
    TTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\StrutsExemple\org\apache\jsp\login_jsp.java:7: cannot access java.lang.Object
    Generated servlet error:
    bad class file: F:\MyEclipse\jre\lib\rt.jar(java/lang/Object.class)
    class file has wrong version 49.0, should be 48.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase
                 ^
    1 error org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    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.
      

  5.   

    我重新做了一遍,现在报错如下
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\StrutsExemple\org\apache\jsp\login_jsp.java:7: cannot access java.lang.Object
    Generated servlet error:
    bad class file: F:\MyEclipse\jre\lib\rt.jar(java/lang/Object.class)
    class file has wrong version 49.0, should be 48.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase
                 ^
    1 error org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    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.
      

  6.   

    可能是struts包本身的问题!!!
      

  7.   

    我重新做了也把环境改变了 现在出现的问题变了 实在是弄不好了 
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Module 'null' not found.
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    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)
      

  8.   

    <html:form action="/webLogin"> 这里应该你是web.xml中配置的ActionServlet的映射模式阿,
     <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>应该是你struts-config.xml: action中path属性,webLogin.do(我一般都是用的这种映射模式)
      

  9.   

    把form中action属性值改成webLogin.do就可以了
      

  10.   

    什么都对,就是缺jar包,你好好自己看看
      

  11.   

    你最好在eclipse或其它编程软件里把它跑通,然后打个war包,就没问题了