回 帖 发 新 帖 刷新版面

主题:http status 500错误,请大家帮帮忙。


这是注册页面,register.jsp:

<%@page contentType="text/html; charset=GBK"%>
<script language="javascript" type="" >
//定义整数检验函数
function isNum(passedVal){
          if(passedVal==""){
            return false
            }
          for(i=0;i<passedVal.length;i++){
          if(passedVal.charAt(i)<"0"){
          return false
          }
          if(passedVal.charAt(i)>"9"){
          return false
          }
          }
          return true}
          //定义表单输入检验函数
function isValid(){
         if(form1.textfield.value==""){
         alert("用户名不能为空哦!");
         document.form1.textfield.focus();
         return false;
         }
         if((form1.textfield2.value.length<3)||(form1.textfield2.value.length>20)){
         alert("密码必须是3到20位数字或字母!");
         document.form1.textfield2.focus();
         return false;
         }
         if(form1.textfield2.value!=form1.textfield3.value){
         alert("两次输入的密码不相同!");
         document.form1.textfield3.focus();
         return false;
         }
         if(form1.textfield4.value==""){
         alert("email不能为空!");
         document.form1.textfield4.focus();
         return false;
         }
         if((form1.textfield4.value.indexOf('@',0)==-1)||(form1.textfield4.value.indexOf('.',0)==-1)
            ||(form1.textfield4.value.length<6)){
            alert("请输入合法的email!");
            document.form1.textfield4.focus();
            return false;
            }
         var dianhua=document.form1.textfield5.value;
         if(dianhua!=""){
            if(isNum(document.form1.textfield5.value)==false){
            alert("电话格式不对,请输入整数!");
            document.form1.textfield5.focus();
            return false;
            }
         }
         if(form1.textfield8.value==""){
         alert("身份证不能为空,且为真实的身份!");
         document.form1.textfield8.focus();
         return false;
         }
         if(form1.textfield8.value!=""){
            if(isNum(document.form1.textfield8.value)==false){
            alert("身份证格式不对,请输入整数!");
            document.form1.textfield8.focus();
            return false;
            }
         }
}</script>
<html>
<head>
<title>注册会员</title>
</head>
<body bgcolor="#ffffff">
<h1 align="center">&nbsp;</h1>
<h1 align="center">新会员注册</h1>
<form action="register_confirm.jsp" method="post" name="form1" target="_blank" onSubmit="return isValid(this);">
  <p align="center">用户名:
    <input name="textfield" type="text" size="24">

</p>
  <p align="center">密 &nbsp;码:
    <input name="textfield2" type="password" size="24">
  </p>
  <p align="center">确 &nbsp;定:
    <input name="textfield3" type="password" size="24">
  </p>
  <p align="center">邮 &nbsp;箱:
    <input name="textfield4" type="text" size="24">
</p>
  <p align="center">电 &nbsp;话:
    <input name="textfield5" type="text" size="24">
</p>
  <p align="center">地 &nbsp;址:
    <input name="textfield6" type="text" size="24">
  </p>
  <p align="center">邮政编码:
    <input name="textfield7" type="text" size="22">
</p>
  <p align="center">身份证号:
    <input name="textfield8" type="text" size="22">
  </p>
  <p align="center">
    <input type="submit" name="Submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="reset" name="Submit2" value="重置">
  </p>
</form>
<p align="center">声明:用户名,密码,确定(重新输一次密码),邮箱,身份证是必填项,请最好把电话,地址,邮政编码也写上,方便送货上门</p>
</body>
</html>



回复列表 (共4个回复)

沙发

这是注册确认页面:register_confirm.jsp.


<%@page contentType="text/html; charset=GBK"%>
<%@page language="java" import="java.sql.*"%>
<jsp:useBean id="regBean" scope="page" class="user.user"></jsp:useBean>
<html>
<head>
<title>会员确认</title>
</head>
<body bgcolor="#ffffff">
<%
  //取出客户端的表单输入值
  String name = new String(request.getParameter("textfield").getBytes("8859_1"));
  String password = new String(request.getParameter("textfield2").getBytes("8859_1"));
  String email = new String(request.getParameter("textfield4").getBytes("8859_1"));
  String tel = new String(request.getParameter("textfield5").getBytes("8859_1"));
  String address = new String(request.getParameter("textfield6").getBytes("8859_1"));
  String code = new String(request.getParameter("textfield7").getBytes("8859_1"));
  String cardnum = new String(request.getParameter("textfield8").getBytes("8859_1"));
  //检查USER表中是否有重复的用户名
  String sql = "select * from user where name='" + name + "'";
  ResultSet rs = regBean.executementQuery(sql);
  if (rs.next()) {
    rs.close();
    out.println("该会员已经存在,请重新输入!");
    // session.putValue("register_message", "该会员已经存在,请重新输入!");
%>
<jsp:forward page="register.jsp"></jsp:forward>
<%
  } else {
    rs.close(); //关闭对象
  }
%>
<form action="success.jsp" method="POST" name="name1">
<input type="hidden" name="name" value="<%=name%>"/>
<input type="hidden" name="password" value="<%=password%>"/>
<input type="hidden" name="email" value="<%=email%>"/>
<input type="hidden" name="tel" value="<%=tel%>"/>
<input type="hidden" name="address" value="<%=address%>"/>
<input type="hidden" name="code" value="<%=code%>"/>
<input type="hidden" name="cardnum" value="<%=cardnum%>"/>
</form>
</body>
</html>

板凳

这是成功注册页面,success.jsp:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="RegBean2" scope="page" class="user.user">
</jsp:useBean>
<html>
<head>
<title>
注册成功
</title>
</head>
<body bgcolor="#ffffff">
<%
//从隐藏区域中取出注册信息
String name = new String(request.getParameter("textfield").getBytes("8859_1")
      );
  String password = new String(request.getParameter("textfield2").getBytes("8859_1"));
  String email = new String(request.getParameter("textfield4").getBytes("8859_1"));
  String tel = new String(request.getParameter("textfield5").getBytes("8859_1"));
  String address = new String(request.getParameter("textfield6").getBytes("8859_1"));
  String code = new String(request.getParameter("textfield7").getBytes("8859_1"));
  String cardnum = new String(request.getParameter("textfield8").getBytes("8859_1"));
  //把信息保存在user表中
  String strSQL="insert into user (name,password,email,tel,address,code,cardnum) values('"+name+"','"+password+"','"+email+"','"+tel+"','"+address+"','"+code+"','"+cardnum+"')";
  RegBean2.executeUpdate(strSQL);
  //使用session对象的putValue()方法,把用户名name赋给变量name
  //session.putValue("name",name);
  out.print("注册成功!");
  %>
</body>
</html>

3 楼

这是user.java代码:

package user;
import java.sql.*;
//与数据库连接(),首先注册数据库驱动程序
public class user {
  String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
  String sConnStr="jdbc:odbc:firm";
  private Connection conn=null;
  private Statement stmt=null;
  ResultSet rs=null;
  public user() {
    try{
    Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e){
    System.err.println("firm():"+e.getMessage());
    }
  }
  //建立数据库连接和定义数据查询
  public ResultSet  executementQuery(String sql){
  rs=null;
  try{
  conn=DriverManager.getConnection(sConnStr);//creat database object
  stmt=conn.createStatement();
  rs=stmt.executeQuery(sql);
  }
  catch(java.sql.SQLException ex){
  System.err.println("aq.executeQuery():"+ ex.getMessage());
  }
  return rs;
  }
  //定义数据操作
  public void executeUpdate(String sql){
  stmt=null;
  rs=null;
  try{
  conn=DriverManager.getConnection(sConnStr);
  stmt=conn.createStatement();
  stmt.executeQuery(sql);
  stmt.close();
  conn.close();
  }
  catch(java.sql.SQLException ex){
  System.err.println("aq.executeQuery:"+ex.getMessage());
  }
  }
  //关闭数据库连接
  public void closeStmt(){
  try{
  stmt.close();
  }
  catch(java.sql.SQLException e){
  e.printStackTrace();
  }
  }
  public void closeConn(){
  try{
  conn.close();
  }
  catch(java.sql.SQLException e){
  }
  }
}

4 楼

请问浏览register.jsp时,确定后,产生HTTP STATUS 500错误,如下:

ype Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.register_005fconfirm_jsp._jspService(register_005fconfirm_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs

请你指点,错在哪里啊?我刚学jsp,用的是JBUILDER。谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册