当前位置: 代码迷 >> Eclipse >> 求大神指导!尝试MVC模式时出错
  详细解决方案

求大神指导!尝试MVC模式时出错

热度:29   发布时间:2016-04-23 01:05:18.0
求大神指点!尝试MVC模式时出错
求大神帮忙看下在哪里有错,谢谢!
网站项目名为ch1;

JavaBean是User类,包含username,password,sex三个属性,在ch1/scr目录下的com.henu.bean包中;
RegisterAction.java在src目录下的com.henu.servic包中

register.jsp页面中部分代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.*"%>
    <jsp:useBean id="UsersBean" class="com.henu.bean.Users"></jsp:useBean>
<jsp:setProperty property="*" name="UserBean"/>
<form action="/ch1/RegisterAction" name="RegisterForm" method="post">
用户名:<input type="text" name="username"><br>
性别:男<input type="radio" name="sex">女<input type="radio" name="sex"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>

报错主要是在RegisterAction
exception 

javax.servlet.ServletException: Error instantiating servlet class servlet.RegisterAction
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)


root cause 

java.lang.ClassNotFoundException: servlet.RegisterAction
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)


下面是RegisterAction.java
package com.henu.service;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
//import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.henu.bean.Users;
import com.henu.util.DbConnection;

public class RegisterAction extends HttpServlet
{
private static final long serialVersionUID = 1L;
public RegisterAction()
{
super();
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
Users regUsers = new Users();//JavaBean

// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

regUsers.setUsername(request.getParameter("username"));
regUsers.setSex(request.getParameter("sex"));
regUsers.setPassword(request.getParameter("password"));

String sql = "INSERT INTO 'zcbtext'.'users' (username,sex,password)VALUES ('" + regUsers.getUsername() + "','" + regUsers.getSex() + "','" + regUsers.getPassword() + "')";

try
{
Connection con = DbConnection.getConn();//连接数据库
Statement stmt = con.createStatement();//执行给定的sql语言insert,update,delete
stmt.executeUpdate(sql);
// response.sendRedirect("pages/confirmRegister.jsp");
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
HttpSession session = request.getSession(true);
session.setAttribute("users",regUsers);

}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
}
}


web.xml中已经配置好servlet
<servlet>
  相关解决方案