如何在JSP页面输入用户名,点击提交按钮显示数据库里的用户名和密码。判断输入的用户名是否存在。

<body>
<form action="chuanzhi.jsp" method="get">
<table>
<tr>
<td>请输入用户名:</td>
<td><input name="name" type="text"/></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
====================================================================
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.ResultSet"%>
<%@ page import="java.sql.Statement" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>输出</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
out.println(name);
%>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String username="register";
String password="register";
Connection conn=DriverManager.getConnection(url,username,password);
String sql="select LOGIN_PWD from LOGIN where LOGIN_NAME=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,name);
ResultSet rs=pstmt.executeQuery();
int a=0;
while(rs.next()){
a=rs.getInt(1);
}
if(a>0){
out.println("登录成功"+"<br>");
}else{
out.println("登录失败");
}
rs.close();
conn.close();
%>
</body>
</html>
这是我的2个JSP页面的代码,请教一下大神,接下来该怎么写货怎么修改呀

首先你不能说a>0 就认为他登录成功了,因为首先,你查询出来的
ResultSet里面的1应该是密码,但是密码应该是varchar2类型的,
看得出来你应该用的是oracle,所以你程序里面应该写getString(1)的。
然后你还要判断,查出来的密码跟他输入的密码是否一致,如果一致,
才能算作登录成功。
另外,如果你是初学,我劝你还是不要学这种jsp里面写java代码的方式了,我不知道是谁教你的,
总之,这种方法,你不懂比懂要好,
哪怕用最基础的servlet也比这样强。

我就接触过一个2期的项目,他的一期开发的时候就是用的这种jsp里面写java代码方式写的,
真的,后期维护起来,简直累死人了,根本就是乱糟糟一团。追问

我是初学者,老师之前教我最基础的servlet好长时间不用,不记得了!我会的不多也不够深!最近接到这个小项目,我还有点着急,用三大框架做个人能力还不够!所以就图简单,直接在jsp里面写java代码了!个人有点着急,麻烦您帮帮忙了!

追答

这个习惯千万不要养成。你用jsp里面写java代码这种形式,额。。。反正换做我,我是肯定判你不合格的。有什么不懂的就去百度,不会什么就查什么。其实三大框架说起来很高级,其实也就那么回事。有的是前人写好的例子,就算你一开始不太懂为什么,但是只要照着写,就可以了。

追问

谢谢你了!趁着这十一我要好好补补三大框架了!

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-23
sql 语句修改一下 select count(*) from LOGIN where LOGIN_NAME=?

我可以说一下,你这个没有判断密码...所以存在用户名就成功;

用到密码之后可以使用下面的sql

select count(*) from LOGIN where LOGIN_NAME=? AND LOGIN_PWD = ?

其他的你可以自己修改下试试.本回答被网友采纳
相似回答