刚开始学struts,想弄个简单的登录界面,运行的时候报了下面的错 exception org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.UnsupportedOperationException org.liky.struts.form.LoginForm.reset(LoginForm.java:61) org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:460) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:433) org.apache.jsp.login_jsp._jspx_meth_html_form_0(login_jsp.java:127) org.apache.jsp.login_jsp._jspx_meth_html_html_0(login_jsp.java:100) org.apache.jsp.login_jsp._jspService(login_jsp.java:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
我的代码有 login.jsp
<%@ page language="java"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html >
<head>
<title>login.jsp </title>
</head>
<body>
<html:form action="login.do" method="post" >
<table border="0">
<tr>
<td>username: </td>
<td> <html:text property="username" /> </td>
</tr>
<tr>
<td>password: </td>
<td> <html:password property="password" /> </td>
</tr>
<tr>
<td colspan="2" align="center"> <html:submit value = "submit" /> </td>
</tr>
</table>
</html:form>
</body>
</html:html>
LoginForm.java
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.4/xslt/JavaClass.xsl
package org.liky.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
/**
* MyEclipse Struts
* Creation date: 07-30-2009
*
* XDoclet definition:
* @struts:form name="loginForm"
*/
public class LoginForm extends ActionForm {
// --------------------------------------------------------- Instance Variables
/** password property */
private String password;
/** username property */
private String username;
// --------------------------------------------------------- Methods
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {
ActionErrors test = new ActionErrors();
if(this.username==null || this.username.trim().equals("")){
test.add("username",new ActionMessage("username.null"));
}
if(this.password==null || this.password.trim().equals("")){
test.add("password",new ActionMessage("password.null"));
}
return test;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
throw new UnsupportedOperationException(
);
}
/**
* Returns the password.
* @return String
*/
public String getPassword() {
return password;
}
/**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Returns the username.
* @return String
*/
public String getUsername() {
return username;
}
/**
* Set the username.
* @param username The username to set
*/
public void setUsername(String username) {
this.username = username;
}
}
LoginAction.java
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.4/xslt/JavaClass.xsl
package org.liky.struts.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 org.liky.struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 07-30-2009
*
* XDoclet definition:
* @struts:action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
*/
public class LoginAction extends Action {
// --------------------------------------------------------- Instance Variables
// --------------------------------------------------------- Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
throw new UnsupportedOperationException(
"Generated method 'execute(...)' not implemented.");
}
}
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="loginForm" type="org.liky.struts.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.liky.struts.action.LoginAction" />
</action-mappings>
<message-resources parameter="org.liky.struts.ApplicationResources" />
</struts-config>
编译没问题,发布到Tomcat后打开http://localhost:8080/StrutsLoginDemo/login.jsp就报错了
请问这个怎么处理?
root cause java.lang.UnsupportedOperationException org.liky.struts.form.LoginForm.reset(LoginForm.java:61) org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:460) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:433) org.apache.jsp.login_jsp._jspx_meth_html_form_0(login_jsp.java:127) org.apache.jsp.login_jsp._jspx_meth_html_html_0(login_jsp.java:100) org.apache.jsp.login_jsp._jspService(login_jsp.java:69) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
我的代码有 login.jsp
<%@ page language="java"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html >
<head>
<title>login.jsp </title>
</head>
<body>
<html:form action="login.do" method="post" >
<table border="0">
<tr>
<td>username: </td>
<td> <html:text property="username" /> </td>
</tr>
<tr>
<td>password: </td>
<td> <html:password property="password" /> </td>
</tr>
<tr>
<td colspan="2" align="center"> <html:submit value = "submit" /> </td>
</tr>
</table>
</html:form>
</body>
</html:html>
LoginForm.java
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.4/xslt/JavaClass.xsl
package org.liky.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
/**
* MyEclipse Struts
* Creation date: 07-30-2009
*
* XDoclet definition:
* @struts:form name="loginForm"
*/
public class LoginForm extends ActionForm {
// --------------------------------------------------------- Instance Variables
/** password property */
private String password;
/** username property */
private String username;
// --------------------------------------------------------- Methods
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {
ActionErrors test = new ActionErrors();
if(this.username==null || this.username.trim().equals("")){
test.add("username",new ActionMessage("username.null"));
}
if(this.password==null || this.password.trim().equals("")){
test.add("password",new ActionMessage("password.null"));
}
return test;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
throw new UnsupportedOperationException(
);
}
/**
* Returns the password.
* @return String
*/
public String getPassword() {
return password;
}
/**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Returns the username.
* @return String
*/
public String getUsername() {
return username;
}
/**
* Set the username.
* @param username The username to set
*/
public void setUsername(String username) {
this.username = username;
}
}
LoginAction.java
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.4/xslt/JavaClass.xsl
package org.liky.struts.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 org.liky.struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 07-30-2009
*
* XDoclet definition:
* @struts:action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
*/
public class LoginAction extends Action {
// --------------------------------------------------------- Instance Variables
// --------------------------------------------------------- Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
throw new UnsupportedOperationException(
"Generated method 'execute(...)' not implemented.");
}
}
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="loginForm" type="org.liky.struts.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.liky.struts.action.LoginAction" />
</action-mappings>
<message-resources parameter="org.liky.struts.ApplicationResources" />
</struts-config>
编译没问题,发布到Tomcat后打开http://localhost:8080/StrutsLoginDemo/login.jsp就报错了
请问这个怎么处理?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货