代码:
login.jsp<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<Font size=4><center>
<FORM action="check.jsp" Method="post">
<P>系统登陆界面
<P>用户名:
<Input type=text name="uid">
<p>密 码:
<Input type=text name="pwd">
<p>
<Input type=submit name="g" value="提交"></Form></BODY>
</HTML>check.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<%
String id=request.getParameter("uid");
String pwd=request.getParameter("pwd");
try
{
String spath="data//data.mdb";
String dbpath = application.getRealPath(spath);
String dbname = ""; //Acess
String user = ""; //Acess
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select uid,pwd from login";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
if (id==rs.getString("uid")||pwd==rs.getString("pwd"))
{response.sendRedirect("show.jsp");}
else
{ out.print("错误");
response.sendRedirect("1.txt");}
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
out.print("数据库连接错误!,错误信息如下:<br>");
out.print(e.getMessage());
}
%>
</BODY>
</HTML>
但是达不到效果 错在哪里请指教
login.jsp<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<Font size=4><center>
<FORM action="check.jsp" Method="post">
<P>系统登陆界面
<P>用户名:
<Input type=text name="uid">
<p>密 码:
<Input type=text name="pwd">
<p>
<Input type=submit name="g" value="提交"></Form></BODY>
</HTML>check.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<%
String id=request.getParameter("uid");
String pwd=request.getParameter("pwd");
try
{
String spath="data//data.mdb";
String dbpath = application.getRealPath(spath);
String dbname = ""; //Acess
String user = ""; //Acess
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select uid,pwd from login";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
if (id==rs.getString("uid")||pwd==rs.getString("pwd"))
{response.sendRedirect("show.jsp");}
else
{ out.print("错误");
response.sendRedirect("1.txt");}
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){
out.print("数据库连接错误!,错误信息如下:<br>");
out.print(e.getMessage());
}
%>
</BODY>
</HTML>
但是达不到效果 错在哪里请指教
{response.sendRedirect("show.jsp");}
else
{ out.print("错误");
response.sendRedirect("1.txt");}
}错误就是不管输入正确的密码还是错误的密码都转到1.txt这个页面!!
if (id.equals(rs.getString("uid")) && pwd.equals(rs.getString("pwd")))
if(id==null||pwd==null){
id=rs.getString("uid");
pwd=rs.getString("pwd");
}
if(id==null||pwd==null){
id=request.getParameter("uid");
pwd=request.getParameter("pwd");
}
你这样写是当用户名对或者密码对就通过是不行的,应该两个都成立才行
if (id.equals(rs.getString("uid")) && pwd.equals(rs.getString("pwd")))
还有 String id=request.getParameter("uid");
String pwd=request.getParameter("pwd"); 这两句在取值之前应该先判断是否为空,在JSP中要养成判断空值的好习惯
<script language="JavaScript">
function checkInput(){
if(document.form.uid.value==""){
alert("请输入用户名!");
document.form1.userName.focus();//得到光标
return false;
}
}
</script>
这个习惯是一定要养成的 呵呵然后就是值比较问题了,楼上两位的都是正解,建议LZ多了解一下equals与==的区别