登陆和注册页面,使用数据库中已有的用户名和密码可以登录,但是注册的时候表单的数据不能提交,注册信息不能插入到数据库,为什么?
1.数据库底层处理bean:
package com.demojjs.javabean;import java.sql.*r;public class DBAccess {
private String drv="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/demojjs";
private String usr="root";
private String pwd="mysql";
private Connection conn=null;
private Statement stm=null;
private ResultSet rs=null;
public String getDrv() {
return drv;
}
    。
2.注册页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'register.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
  
  <body>
    <form name="form1" action="UserServlet.do?method=register" method="post">
     <table width="200" border="1"> 
     <tr>
     <td colspan="2">注册窗口</td>
     </tr>
     <tr>
     <td>用户名</td>
     <td><input type="text" name="username" size="10"></td>
     </tr>
     <tr>
     <td>密码</td>
     <td><input type="password" name="password1" size="10"></td>
     </tr>
     <tr>
     <td>确认密码</td>
     <td><input type="password" name="password2" size="10"></td>
     </tr>
     <tr>
     <td>Email</td>
     <td><input type="text" name="email" size="10"></td>
     </tr>
     <tr>
     <td><input type="submit" name="submit" value="注册"><a href="login.jsp">返回</a></td>
     </tr>
     </table>
    </form>
  </body>
</html>

解决方案 »

  1.   

    package com.demojjs.servlet;import java.io.IOException;
    import java.io.PrintWriter;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.demojjs.javabean.*;public class UserServlet extends HttpServlet { public UserServlet() {
    super();
    } public void destroy() {
    super.destroy(); 
    } public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { String method=(String)request.getParameter("method");
    if(method==null){
    PrintWriter out=response.getWriter();
    out.println("invalid request!");
    }else if(method.equals("login")){
    Login(request,response);
    }else if(method.equals("logout")){
    Logout(request,response);
    }else if(method.equals("register")){
    Register(request,response);
    }
    }

    private void Register(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    //取得参数
    String username=request.getParameter("username");
    String password1=request.getParameter("password1");
    String password2=request.getParameter("password2");
    String email=request.getParameter("email");
    //检查是否为空
    if(username==null||password1==null||password2==null||email==null){
    response.sendRedirect("register.jsp");
    return;
    }
    //检查用户名是否存在
    UserBean userBean=new UserBean();
    boolean isExist=userBean.isExist(username);
    if(!isExist){
    userBean.add(username, password1, email);
    response.sendRedirect("login.jsp");
    return;
    }else{
    response.sendRedirect("register.jsp");
    return;
    }
    } private void Logout(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
    HttpSession session=request.getSession();
    session.removeAttribute("username");
    response.sendRedirect("login.jsp");
    } private void Login(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
    //取得参数
    String username=request.getParameter("username");
    String password=request.getParameter("password");
    //检查是否为空
    if(username==null||password==null){
    response.sendRedirect("login.jsp");
    }
    //验证登陆
    UserBean userBean=new UserBean();
    boolean isValid=userBean.valid(username, password);

    if(isValid){
    HttpSession session=request.getSession();
    session.setAttribute("username", username);
    response.sendRedirect("welcome.jsp");
    return;
    }else{
    response.sendRedirect("login.jsp");
    return;
    }
    } public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request,response);
    } public void init() throws ServletException {
    }}
      

  2.   

    userBean.add(username, password1, email); 这个地方做个断点  或者输出,看能不能执行到这个地方,得一步一步调试
      

  3.   

    用的什么开发工具?在网上搜一下,eclipse的话,在行号前面  用鼠标双击就可以
      

  4.   

    把工具 调到 debug模式啊!打断点
      

  5.   

    权限问题:
    mysql中设置别的用户登录
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;