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()); //输出到客户端
}
}
}
...全文
1084 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhj92lxs 2008-06-15
  • 打赏
  • 举报
回复
呵呵,要仔细
wuzhiyanfeng 2008-06-15
  • 打赏
  • 举报
回复
呵呵。。。问题解决了。。
还是谢谢看过以及回复过该贴的人
是sqlstr语句写错了。。
where 和and 前面忘记加空格了。
yami251139 2008-06-15
  • 打赏
  • 举报
回复
连不到的地方
if改成while试下。。。
=============================
你连报错都补贴。。。
意思是要我们猜咯,猜你出了什么错误?
(@#&%(#&@%(&@#)%&@#)%&@)#

81,122

社区成员

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

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