报错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;
}
这种情况怎么改呢?哪里错了?请教大家
严重: 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;
}
这种情况怎么改呢?哪里错了?请教大家
...全文
相关推荐
java.lang.NoSuchMethodException: .getPortClassMap()
NULL 博文链接:https://hw1287789687.iteye.com/blog/2034439
java 请求的方法不存在(NoSuchMethodException)
java 请求的方法不存在(NoSuchMethodException) java 请求的方法不存在(NoSuchMethodException)
java 反射 报错 no such method exception
java 反射 服务器上报错 no such method exceptionjava 反射 服务器上报错 no such method exceptionjava 反射 服务器上报错 no such method exceptionjava 反射 服务器上报错 no such method exceptionjava 反射 服务器上报错 no such method exceptionjava 反射 服务器上报错 no such method exception
JAVA项目常用异常处理汇总
主要介绍了JAVA项目常用异常处理汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java常见异常和错误总结
作为初学者常犯的一些错误和总结,在开发时候可以作为文档进行查询,能帮助我们快速找到答案


