jsp 做登录的问题 根据不同权限跳转到不同页面

wuzhiyanfeng 2008-06-15 06:15:57
做一个登录 系统能够通过员工的ID 自动识别数据库中员工的职位。。然后跳转到不同的操作界面。
下面是处理页面。。不知道能不能这么写。。
用TOMCAT出现以下异常 java.lang.NullPointerException


jsp 页面如下。。。。
。。。。。。。。
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="kaoqin.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>登录处理页面</title></title>
</head>

<body>
<jsp:useBean id="db" scope="page" class="kaoqin.sqlBean"/>
<%
try{
String id=new String(request.getParameter("id").getBytes("iso8859_1"),"gbk");
String password=new String(request.getParameter("password").getBytes("iso8859_1"),"gbk");

String position=" ";
boolean flag=true;
if(flag)
{
ResultSet rs =null;
position="普通员工";
String sqlstr="select * from person";
sqlstr=sqlstr+"where id='"+id+"'";
sqlstr=sqlstr+"and password='"+password+"'";
sqlstr=sqlstr+"and position='"+position+"'";
rs=db.executeQuery(sqlstr);


boolean login_flag;
if(!rs.next()) 。。。。。。。。。。。。。主要是这里连接不到数据库还是怎么的。运行到这就出现异常了
login_flag=false;
else
login_flag=true;
// if(!login_flag){
// out.print("<center><p><font color=red size=4>登录失败</font></p>");
//out.print("<p><a href=login.jsp>请点击这里再次登陆</a></p>");
//out.print("<br></center>");
// }
if(login_flag)
{
session.setAttribute("login_flag","success");
response.sendRedirect("employeeframe.htm"); 普通员工的页面
}
}

if(flag)
{
ResultSet rs =null;
String sqlstr="";
position="部门经理";
sqlstr="select * from person";
sqlstr=sqlstr+"where id='"+id+"'";
sqlstr=sqlstr+"and password='"+password+"'";
sqlstr=sqlstr+"and position='"+position+"'";
rs=db.executeQuery(sqlstr);

boolean login_flag;
if(!rs.next())
login_flag=false;
else
login_flag=true;

if(login_flag)
{
session.setAttribute("login_flag","success");
response.sendRedirect("managerframe.htm"); 部门经理的页面
}
}

if(flag)
{
ResultSet rs =null;
String sqlstr="";
position="系统管理员";
sqlstr="select * from person";
sqlstr=sqlstr+"where id='"+id+"'";
sqlstr=sqlstr+"and password='"+password+"'";
sqlstr=sqlstr+"and position='"+position+"'";
rs=db.executeQuery(sqlstr);

boolean login_flag;
if(!rs.next())
login_flag=false;
else
login_flag=true;

if(login_flag)
{
session.setAttribute("login_flag","success");
response.sendRedirect("adminframe.htm"); 系统管理员的页面
}
login_flag=false;
}


else {
String message= "登陆失败,用户名或密码有误!!";
session.setAttribute("error",String.valueOf(message));
response.sendRedirect("login.jsp");}
}
catch(Exception e)
{
out.print(e.toString());
}
%>
</body>
</html>





用JAVABEAN连接数据库。。
。。。。。。。。。。。。。
package kaoqin;

import java.io.*;
import java.sql.*;

public class sqlBean{///

public Connection conn=null;

public ResultSet rs=null;

private String DatabaseDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//DataSource 数据源名称DSN
private String DatabaseConnStr="jdbc:odbc:atd";

//定义方法
/*setXxx用于设置属性值;getXxx用于得到属性值*/
public void setDatabaseDriver(String Driver){
this.DatabaseDriver=Driver;
}
public String getDatabaseDriver(){
return (this.DatabaseDriver);
}

public void setDatabaseConnStr(String ConnStr){
this.DatabaseConnStr=ConnStr;
}
public String getDatabaseConnStr(){
return (this.DatabaseConnStr);
}

public sqlBean(){/////构造函数
try{


Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("加载驱动器有错误:"+e.getMessage( ));
System.out.print("执行插入有错误:"+e.getMessage());//输出到客户端
}
}

public String getString(String name) throws SQLException{
if(rs==null) throw new SQLException("ResultSet is null");
return String.valueOf(rs.getString(name));
}
public void executeInsert(String sql){
try{
conn = DriverManager.getConnection("jdbc:odbc:atd","","");
Statement stmt=conn.createStatement( );
stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行插入有错误:"+ex.getMessage() );
System.out.print("执行插入有错误:"+ex.getMessage());//输出到客户端
}
}
// display data


public ResultSet executeQuery(String sql){
rs=null;
try{
conn = DriverManager.getConnection("jdbc:odbc:atd","","");
Statement stmt=conn.createStatement( );
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("执行查询有错误:"+ex.getMessage() );
System.out.print("执行查询有错误:"+ex.getMessage()); //输出到客户端
}
return rs;
}
// delete data
public void executeDelete(String sql){
try{

conn = DriverManager.getConnection("jdbc:odbc:atd","","");
Statement stmt=conn.createStatement( );
stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行删除有错误:"+ex.getMessage() );
System.out.print("执行删除有错误:"+ex.getMessage()); //输出到客户端
}
}
//////////////////
public void CloseDataBase(){
try{
conn.close();
}
catch(Exception end){
System.err.println("执行关闭Connection对象有错误:"+end.getMessage( ) );
System.out.print("执行执行关闭Connection对象有错误:有错误:"+end.getMessage()); //输出到客户端
}
}
}
...全文
1068 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhj92lxs 2008-06-15
  • 打赏
  • 举报
回复
呵呵,要仔细
wuzhiyanfeng 2008-06-15
  • 打赏
  • 举报
回复
呵呵。。。问题解决了。。
还是谢谢看过以及回复过该贴的人
是sqlstr语句写错了。。
where 和and 前面忘记加空格了。
yami251139 2008-06-15
  • 打赏
  • 举报
回复
连不到的地方
if改成while试下。。。
=============================
你连报错都补贴。。。
意思是要我们猜咯,猜你出了什么错误?
(@#&%(#&@%(&@#)%&@#)%&@)#
网上订票系统 用到的技术为:javabean-servlet-jsp sql server 2000 数据库文件在WebRoot的DB文件中! 本系统实现了会员注册,会员登录,密码修改,以及会员信息的修改! 初步实现了在线订购,订单查询,班次查询以及系统管理--对火车信息的添加等。 操作过程: 首先,应导入到myeclipse中,将该系统发布到tomcat中,并启动tomcat! 接着在360浏览器中输入http://localhost:8080/bookonline/login.jsp 管理员的帐号为:guanliyuan 密码为:123456789 用户帐号为:987654321 密码为:987654321 当然可以在登录界面中点击注册链接,跳转到注册页面中进行注册(注:只能注册用户的,没有管理员注册!这是该系统中的一个问题)。 登录进去后进入主界面main.jsp中。在该界面中,可以点击修改用户信息,密码等链接,管理员还可以点击添加火车信息的链接。当然还可以查看火车信息。(注:只有在查询后,才能进行订票)。 注: 用到的页面 login.jsp——登录界面,可以链接到注册用户的界面。用admin字段来标识是否为管理员。其中有一个用户为987654321密码为987654321,另一个为管理员guanliyuan密码为123456789 register.jsp——用户注册页面,默认的所有注册方式为用户,即所有的用户admin为0。而管理员事先设置好了,即admin为1。 registerfailed.jsp registersuccess.jsp——为注册成功或失败时用到的页面 main.jsp——为系统主页面,在这里可以链接到订票,查询,修改信息,修改密码,管理员添加火车信息等。该页面用到了专题咨询里面的主框架结构,和部分代码。 queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 showticket.jsp——显示火车票信息,此时可以进行订票。 bookfailes.jsp booksuccess.jsp——订票成功或失败时所链接的界面。 view.jsp——浏览火车票信息。 modifyinfo.jsp——修改用户信息,在这里不可能更改密码,以及权限。 passwordmodify.jsp——修改密码!

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧