正在进化的程序员
2016-05-28 12:42
采纳率: 50%
浏览 5.9k
已采纳

jsp+Servlet,跳转页面空白

JSP+Servlet做不同用户登录,登录Servlet出现空白页,无法跳转到指定页面
前台login.jsp代码
本学期的JavaEE课程设计,不知道哪里出错了,请各位前辈帮忙看看,万分感谢





用户登录







登录名:
密码:
管理员 车位用户




如果没注册点击这里注册!

Servlet类代码
package servlet;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import model.Admin;
import model.User;
import db.DB;

public class MainServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

}
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    System.out.print("跳到mainServlet");
    String adminuser = request.getParameter("AdminUser");
    String username=request.getParameter("username");
    //
    String pwd=request.getParameter("pwd");
    // 
    DB db=new DB();
    HttpSession session=request.getSession();

    if(adminuser=="1"){
        Admin admin=  (Admin) session.getAttribute("admin");
        //  
            if(admin==null){
                admin=db.checkAdmin(username, pwd);
            }
            // 
            session.setAttribute("admin", admin);
            if(admin!=null){

                response.sendRedirect("index.jsp");
            }else if(admin==null){
                // 
                response.sendRedirect("login.jsp");
            }
        }else if(adminuser=="2"){
                User user= (User) session.getAttribute("user");
                //  
                    if(user==null){
                        user=db.checkUser(username, pwd);
                    }
                    // 
                    session.setAttribute("user", user);
                    if(user!=null){

                        response.sendRedirect("main.jsp");
                    }else if(user==null){
                        // 
                        response.sendRedirect("login.jsp");
                    }

            }
            }

public void init() throws ServletException {
    // Put your code here
}

}

数据库连接 DB类代码
package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import model.Admin;
import model.User;

public class DB {
Connection ct;
PreparedStatement pstmt;
// 连接数据库
public DB(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ct=DriverManager.getConnection
("jdbc:sqlserver://localhost:1433;databaseName=JSP","sa","123456");
} catch (Exception e) {
e.printStackTrace();
}
}

public Admin checkAdmin(String LogId,String AdminWord){

            try{
        pstmt=ct.prepareStatement("select * from [Admin] where LogId=? and AdminWord=?");
            pstmt.setString(1, LogId);
            pstmt.setString(2, AdminWord);
            ResultSet rs=pstmt.executeQuery();
            Admin admin=new Admin();
            while(rs.next()){
                admin.setAdminId(rs.getInt(1));
                admin.setLogId(rs.getString(2));
                admin.setAdminWord(rs.getString(3));
                return admin;
            }
            return null;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
    }
// 根据用户名和密码查询用户
public User checkUser(String username,String password){
    try{
    pstmt=ct.prepareStatement("select * from [userTable] where username=? and password=?");
        pstmt.setString(1, username);
        pstmt.setString(2, password);
        ResultSet rs=pstmt.executeQuery();
        User user=new User();
        while(rs.next()){
            user.setId(rs.getInt(1));
            user.setUsername(rs.getString(2));
            user.setPassword(rs.getString(3));
            return user;
        }
        return null;
    }catch(Exception e){
        e.printStackTrace();
        return null;
    }
}
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • lzj0327 2016-05-28 13:38
    已采纳

    你的项目的目录结构贴出来看看,可能是 response.sendRedirect的页面路径不对

    已采纳该答案
    评论
    解决 3 无用
    打赏 举报
  • 正在进化的程序员 2016-05-28 12:43

    登录界面的代码;图片说明

    评论
    解决 无用
    打赏 举报
  • niaonao 2016-05-28 13:53

    无法跳转到指定页面 报什么异常没有
    跳转页面空白 你看看路径还是已经跳转到正确的路径下了,还是跳转的路径不对(浏览器上面的地址栏)

    评论
    解决 无用
    打赏 举报
  • niaonao 2016-05-28 13:55

    response.sendRedirect("login.jsp");
    你的这个写法,我以前用的时候报 404 页面错误
    response.sendRedirect("/工程名/login.jsp"); 现在这样用

    评论
    解决 无用
    打赏 举报
  • 正在进化的程序员 2016-05-28 14:01

    我现在是想实现不同用户的登录。在这样写了貌似radio的值在MainServlet中无法使用
    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题