做了个最最简单的注册、登录、退出~其他一切都正常了,就是无法验证注册。无法验证填入的不能为空,密码与确认密码不能不相等~即 if (username == null || password1 == null || password2 == null
|| !password1.equals(password2) || email == null) {
response.sendRedirect("register.jsp");
} 这段代码无用掉了~原来以为是参数没传进去,但是有,因为在数据库里就能显示他们的值现在就是密码、确认密码为空也能注册,密码与确认密码不相等会出现错误,而且还能在数据库中有记录,汗啊。。部分代码如下:
register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
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="register_action.jsp" 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 colspan="2"><input type="submit" name="submit" value="注册">
<a href="login.jsp">返回</a></td>
</tr>
</table>
</form>
</body>
</html>register_action.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%><%@ page import="bean.UserBean" %><%
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_action.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>
<%
String username = request.getParameter("username");
String password1 = request.getParameter("password1");
String password2 = request.getParameter("password2");
String email = request.getParameter("email"); if (username.equals("") || password1.equals("")|| password2.equals("")
|| !password1.equals(password2) || email.equals("")) {
response.sendRedirect("register.jsp");
} UserBean userBean=new UserBean();
boolean isExist=userBean.isExist(username);
if(!isExist){
userBean.add(username,password1,email);
response.sendRedirect("login.jsp");
}else{
response.sendRedirect("register.jsp");
} %>
</body>
</html>
|| !password1.equals(password2) || email == null) {
response.sendRedirect("register.jsp");
} 这段代码无用掉了~原来以为是参数没传进去,但是有,因为在数据库里就能显示他们的值现在就是密码、确认密码为空也能注册,密码与确认密码不相等会出现错误,而且还能在数据库中有记录,汗啊。。部分代码如下:
register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
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="register_action.jsp" 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 colspan="2"><input type="submit" name="submit" value="注册">
<a href="login.jsp">返回</a></td>
</tr>
</table>
</form>
</body>
</html>register_action.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%><%@ page import="bean.UserBean" %><%
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_action.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>
<%
String username = request.getParameter("username");
String password1 = request.getParameter("password1");
String password2 = request.getParameter("password2");
String email = request.getParameter("email"); if (username.equals("") || password1.equals("")|| password2.equals("")
|| !password1.equals(password2) || email.equals("")) {
response.sendRedirect("register.jsp");
} UserBean userBean=new UserBean();
boolean isExist=userBean.isExist(username);
if(!isExist){
userBean.add(username,password1,email);
response.sendRedirect("login.jsp");
}else{
response.sendRedirect("register.jsp");
} %>
</body>
</html>
解决方案 »
- jaspersoft ireport
- 如何在Tomcat里看到他的源代码?他不是开源的吗??
- 新手提问`如何建立一个简单的班级网站`JSP+SQLSEVER2000?
- struts1.3.8以后的版本里lib下怎么都没有tld文件呢?
- 一个JSP的初级问题
- Hibernate getHibernateTemplate()方法使用
- 这种情况如何处理?
- 能否一次同时打开两个文件进行“写”操作!???
- Jsp在Unix下的安装?
- Java调用C# 写的webservice客户端不成功。有没有知道啊,急死了呀
- 程序出现错误:java.lang.NullPointerException
- 怎么保存文本框里的值
|| password1.equals("")
|| password2.equals("")
|| !password1.equals(password2)
|| email.equals(""))
{
response.sendRedirect("register.jsp");
}上边任何一个条件成立都会转向register.jsp
你在web上打出他们的值看看
!pass1.equals(pass2)
支持一楼观点,不过有个建议:把""放到前面,因为username、password等都可能会为空,因此会有空指针异常的。
应该这样写:if("".equals(username))
错误信息如下:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /register_action.jsp at line 4744: boolean isExist=userBean.isExist(username);
45: if(!isExist){
46: userBean.add(username,password1,email);
47: response.sendRedirect("login.jsp");
48: }else{
49: response.sendRedirect("register.jsp");
50: }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
org.apache.jsp.register_005faction_jsp._jspService(register_005faction_jsp.java:104)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
节省资源
500错误可能就是因为这个!!