根据flag的值决定页面的跳转有些迷糊

来源:百度知道 编辑:UC知道 时间:2024/04/28 13:50:15
简单写了一个在jsp页面上基于数据库登录的例子,但是看过资料后,有个地方钻了牛角尖怎么也弄不明白了,我的代码是这样的(一下是重点的页面处理类代码):
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");

//定义数据库操作的常量、变量
//数据库驱动程序
final String dbdriver = "com.mysql.jdbc.Driver";
//数据库连接地址
final String dburl = "jdbc:mysql://localhost:3306/mldn";
//数据库用户名
final String user = "root";
//数据库连接密码
final String pass = "sly";
//声明一个数据库连接对象
Connection conn = null;
//声明一个数据库操作对象
PreparedStatement pstmt = null;
//声明一个结果集
ResultSet rs = null;
//声明一条sql语句
String sql = null;
%>
<%
boolean flag = false;
try {
//进行数据库操作
Class.forName(dbdriver);
conn = DriverManager.getConnection(dburl, user, pass);
sql = "se

代码没问题吧

if(flag)就是if(flag==true)的意思

如果rs没取到,那么走的应该是else逻辑上没问题

if (rs.next()) {
flag = true;
}
这句话保证了,在有结果的条件下,flag=true

if (flag) {
%>
<jsp:forward page="login_success.jsp"></jsp:forward>
<%
}
这句话保证了,flag=true的条件下,跳转到陈宫页面

else {
%>
<jsp:forward page="login_failure.jsp"></jsp:forward>
<%
}
%>
这句话保证了,flag!=true的条件下,跳转到失败页面

代码没问题,逻辑也对,自己再捋一下思路

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你想一想如果没有此记录
肯定不可能让他成功登陆
<jsp:forward page="login_failure.jsp"></jsp:forward>
这句话保证了
在没有成功登陆的时候
跳转到登陆失败页面

你可以看下login_failure.jsp这个页面里面。也许这个页面里面是跳到登陆页面呢。一般登陆失败了,不都是让你重新登录吗!

应该和你说的是一样