回 帖 发 新 帖 刷新版面

主题:请帮忙看这段代码,为什么表单传递的为空?

[b][color=000080][color=000000]两个jsp文件:
1.login.jsp[/color][/color][/b]
<%@ page contentType="text/html; charset=GBK" %>

<html>
<head>
<title>
login
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<!-- 输出的内容 -->
Welcome to login!
</h1>
<form action="checklogin.jsp" method="POST">  
<!-- 构造输入域和按钮 -->
username:<input name="username" value="kingbill">


password:<input name="password" value="111111">


<input type="submit" value="确认"/>
<input type="reset"/>
</form>
</body>
</html>

[color=000080]2.checklogin.jsp[/color]
<%@ page contentType="text/html; charset=GBK" %>
<%@page import="java.sql.*"%>
<%
//获取表单输入参数
String username = request.getParameter("username");
String password = request.getParameter("password");

boolean loginsuccess = false;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

[b][color=FF0000]System.out.println(username + "89799 " + password);[/color][/b]
try {
    Class.forName("org.gjt.mm.mysql.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/login",
                                       "root","123456789");
    stmt = con.createStatement();    
    String sql ="select * from user where username = '" + username + "'";

System.out.println(username + "99999 " + password);
    rs = stmt.executeQuery(sql);System.out.println(username + "8798979 " + password);
    System.out.println(rs.getInt("userId") + " " +
                           rs.getString("username") + " " +
                           rs.getString("password"));
    System.out.println(username + " " + password);                       
    while (rs.next()){
        System.out.println(rs.getInt("userId") + " " +
                           rs.getString("username") + " " +
                           rs.getString("password"));
        if(password.equals(rs.getString("password"))){
            loginsuccess = true;
        }
    }
} catch (Exception sqlex1) {
    sqlex1.printStackTrace();
} finally {
    if (con != null) {
        try {
            con.close();
        } catch (Exception sqlex2) {
            sqlex2.printStackTrace();
        }
    }
}
if(loginsuccess){
%>
<jsp:forward page = "welcome.jsp"></jsp:forward>
<% 
}else{
%>
<!-- (2) -->
<jsp:forward page="error.jsp"></jsp:forward>
<% 
}
%>


[b]
[color=000080]请教,红色部分的打印信息为什么是NULL,好象接收或者发送表单上出了问题。

新人,还请大家多指教,谢谢![/color][/b]

回复列表 (共4个回复)

沙发


看你的action提交的地址好象是checklogin.jsp
你的页面是logincheck.jsp你好象名字写错了啊

板凳

[quote]
看你的action提交的地址好象是checklogin.jsp
你的页面是logincheck.jsp你好象名字写错了啊[/quote]


是我发贴的时候写错了,在Jbuilder里面是没错的,请再帮忙分析下,谢谢!

PS:帖子已经改过来了,谢谢!

3 楼

我用你的代码运行了一下,没有问题呀,我用的是myeclipse5.5.1,因为没有装oracle数据库,所以还不知道数据库中是否可以插入数据,但system.out.print语句是有结果显示的
如下:
信息: Server startup in 4109 ms
kingbill89799 111111
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)

4 楼

[quote]我用你的代码运行了一下,没有问题呀,我用的是myeclipse5.5.1,因为没有装oracle数据库,所以还不知道数据库中是否可以插入数据,但system.out.print语句是有结果显示的
如下:
信息: Server startup in 4109 ms
kingbill89799 111111
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)[/quote]


这样看来还是我的配置有问题啊,或者什么lib之类的没有导入
因为我都是从网上下的jbuilder2005+jdk1.4+tomcat5.0,总感觉不太对劲,学java真不容易啊,不知道用什么环境好
不知道哪位有遇到过和我类似的问题,现在我都是按书上的操作,可总是不能正常,郁闷

我来回复

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