我用的是struts.1.3.10:程序和运行时出现的错误如下:麻烦有谁知道的告诉一下,谢谢!!//这是登录页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/struts-tags" prefix="html" %>
<html>
<head>
<title>这是我的STRUTS登陆首页</title></head>
<body>
<html:form
action="/Loginaction.do"
method="post">
<table border="0">
<tr>
<td>用户名</td>
<td><html:text property="username"/></td>
</tr>
<tr>
<td>密码</td>
<td><html:password property="password"></html:password>
</td>
</tr>
<tr colspane="2" align="center" >
<td><html:submit value="登录"></html:submit>
</td>
</tr>
</table>
</html:form>
</body>
</html>//登录成功后的页面
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%>
<html:html>
<head><title>登录成功页面</title></head>
<body>
<table align="center" border="0">
<tr align="center"><td>
系统登录成功!登录的用户名为:<%=request.getParameter("username")%>
</td></tr>
</table>
</body>
</html:html>//action
package form;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.*;
/**
* @作者:邓子云
*控制器类
*/
public class Loginaction extends Action{
/**
* 在此方法中处理HTTP请求数据,并作响应
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionErrors errors=new ActionErrors();
String username=(String)((Loginform)form).getUsername();
String password=(String)((Loginform)form).getPassword();
//------用户名和密码校验------
//此处仅作简单的校验,实际工程中一般从数据库表中作SQL查询来校验
if(!username.equalsIgnoreCase("dengjiarong")){
errors.add("username",new ActionMessage("login.usernamenotrue"));
saveErrors(request,errors);
return(new ActionForward(mapping.findForward("failure")));
}
if(!password.equalsIgnoreCase("123")){
errors.add("password",new ActionMessage("login.passwordnotrue"));
saveErrors(request,errors);
return(new ActionForward(mapping.findForward("failure")));
}
//------业务逻辑代码------
//数据检验通过后,可作业务逻辑处理,常见的操作有:记录日志、操作数据库等
request.removeAttribute(mapping.getAttribute());//删除formBean
return mapping.findForward("success");
}
}//actionfrom
package form;
import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;;
/**
* @作者:邓子云
* 登录表单类
*/
public class Loginform extends ActionForm{
private String username=null;
private String password=null;
/**
* 重置所有属性的值
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.username=null;
this.password=null;
}
/**
* 验证属性的值
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors=new ActionErrors();
if(username==null||username.length()<1)
errors.add("username",new ActionMessage("login.usernamenull"));
if(password==null||password.length()<1)
errors.add("password",new ActionMessage("login.passwordnull"));
return errors;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>/struts-tags</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
//struts-config.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
<form-beans>
<form-bean name="Loginform" type="form.Loginform"/>
</form-beans>
<action-mappings>
<action path="/Loginaction"
type="form.Loginaction"
name="Loginform"
scope="request" validate="true"
input="/login.jsp">
<forward name="failure" path="/login.jsp"/>
<forward name="success" path="/success.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="login_zh"/>
</struts-config>//出现的问题
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /login.jsp:85: <head>
6: <title>这是我的STRUTS登陆首页</title></head>
7: <body>
8: <html:form
9: action="/Loginaction.do"
10: method="post">
11: <table border="0">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause javax.servlet.ServletException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.login_jsp._jspService(login_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NoClassDefFoundError
sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
java.lang.Class.newInstance0(Class.java:350)
java.lang.Class.newInstance(Class.java:303)
org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:117)
org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f0(login_jsp.java:98)
org.apache.jsp.login_jsp._jspService(login_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/struts-tags" prefix="html" %>
<html>
<head>
<title>这是我的STRUTS登陆首页</title></head>
<body>
<html:form
action="/Loginaction.do"
method="post">
<table border="0">
<tr>
<td>用户名</td>
<td><html:text property="username"/></td>
</tr>
<tr>
<td>密码</td>
<td><html:password property="password"></html:password>
</td>
</tr>
<tr colspane="2" align="center" >
<td><html:submit value="登录"></html:submit>
</td>
</tr>
</table>
</html:form>
</body>
</html>//登录成功后的页面
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html"%>
<html:html>
<head><title>登录成功页面</title></head>
<body>
<table align="center" border="0">
<tr align="center"><td>
系统登录成功!登录的用户名为:<%=request.getParameter("username")%>
</td></tr>
</table>
</body>
</html:html>//action
package form;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.*;
/**
* @作者:邓子云
*控制器类
*/
public class Loginaction extends Action{
/**
* 在此方法中处理HTTP请求数据,并作响应
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionErrors errors=new ActionErrors();
String username=(String)((Loginform)form).getUsername();
String password=(String)((Loginform)form).getPassword();
//------用户名和密码校验------
//此处仅作简单的校验,实际工程中一般从数据库表中作SQL查询来校验
if(!username.equalsIgnoreCase("dengjiarong")){
errors.add("username",new ActionMessage("login.usernamenotrue"));
saveErrors(request,errors);
return(new ActionForward(mapping.findForward("failure")));
}
if(!password.equalsIgnoreCase("123")){
errors.add("password",new ActionMessage("login.passwordnotrue"));
saveErrors(request,errors);
return(new ActionForward(mapping.findForward("failure")));
}
//------业务逻辑代码------
//数据检验通过后,可作业务逻辑处理,常见的操作有:记录日志、操作数据库等
request.removeAttribute(mapping.getAttribute());//删除formBean
return mapping.findForward("success");
}
}//actionfrom
package form;
import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;;
/**
* @作者:邓子云
* 登录表单类
*/
public class Loginform extends ActionForm{
private String username=null;
private String password=null;
/**
* 重置所有属性的值
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.username=null;
this.password=null;
}
/**
* 验证属性的值
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors=new ActionErrors();
if(username==null||username.length()<1)
errors.add("username",new ActionMessage("login.usernamenull"));
if(password==null||password.length()<1)
errors.add("password",new ActionMessage("login.passwordnull"));
return errors;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>/struts-tags</taglib-uri>
<taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
//struts-config.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
<form-beans>
<form-bean name="Loginform" type="form.Loginform"/>
</form-beans>
<action-mappings>
<action path="/Loginaction"
type="form.Loginaction"
name="Loginform"
scope="request" validate="true"
input="/login.jsp">
<forward name="failure" path="/login.jsp"/>
<forward name="success" path="/success.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="login_zh"/>
</struts-config>//出现的问题
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /login.jsp:85: <head>
6: <title>这是我的STRUTS登陆首页</title></head>
7: <body>
8: <html:form
9: action="/Loginaction.do"
10: method="post">
11: <table border="0">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause javax.servlet.ServletException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.login_jsp._jspService(login_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NoClassDefFoundError
sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
java.lang.Class.newInstance0(Class.java:350)
java.lang.Class.newInstance(Class.java:303)
org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:117)
org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f0(login_jsp.java:98)
org.apache.jsp.login_jsp._jspService(login_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
Struts1.x 好像是这么用的