报错java.lang.NoSuchMethodException怎么解决?
错误如下:
严重: Servlet.service() for servlet action threw exception
java.lang.NoSuchMethodException: Action[/stuInfo] does not contain specified met
hod (check logs)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:
264)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
我的action是:
public class UserInfoAction extends DispatchAction {
private UserBiz biz = new UserBizImpl();
public ActionForward doLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserInfoForm userInfoForm = (UserInfoForm) form;// TODO Auto-generated method stub
Admin admin = new Admin();
admin.setId(userInfoForm.getId());
admin.setUsername(userInfoForm.getUsername());
admin.setPassword(userInfoForm.getPassword());
if (biz.login(admin)) {
HttpSession session = request.getSession();
session.setAttribute("admin", admin);
return mapping.findForward("login_success");
}
return mapping.findForward("login_fail");
}
}
form如下:
public class UserInfoForm extends ActionForm {
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
dao如下:
public class UserDaoImpl implements UserDao {
public boolean isExist(Admin admin) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DBGet.getConn();
String sql = "select * from admin where username=?";
ps = conn.prepareStatement(sql);
ps.setString(1, admin.getUsername());
rs = ps.executeQuery();
if (rs.next()) {
if(admin.getPassword().equals(rs.getString("password"))) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBGet.closeResultSet(rs);
DBGet.closePreparedStatement(ps);
DBGet.closeConnection(conn);
}
return false;
}
这种情况怎么改呢?哪里错了?请教大家