当前位置: 代码迷 >> J2EE >> 写了一个系统登录界面,但是报错了,劳驾大神们给指教下
  详细解决方案

写了一个系统登录界面,但是报错了,劳驾大神们给指教下

热度:9   发布时间:2016-04-21 20:13:56.0
写了一个系统登录界面,但是报错了,麻烦大神们给指教下
做了一个系统登录作业练习,代码已贴出:

控制台提数错误:






登录界面 Login
package com.test;

import javax.servlet.http.*;
import java.io.*;

public class Login extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res){

try{
PrintWriter pw=res.getWriter();
    
    pw.println("<html>");
    pw.println("<body>");
    
    String info=req.getParameter("info");
    if(info!=null){
    
     pw.println("<h1>NOT LOGIN</h1>");
    }

    pw.println("<h1>login_view</h1>");
    
    pw.println("<form action=logincl method=post>");
    
    pw.println("LOGIN_NAME:<input type=text name=username><br>");
    pw.println("PASSWORD:<input type=password name=password><br>");
    pw.println("<input type=submit value=logining><br>");
    
    pw.println("</form>");
    
    pw.println("</body>");
    pw.println("</html>");
    
}
catch (Exception ex){
ex.printStackTrace();
}

}

public void doPost(HttpServletRequest req,HttpServletResponse res){

this.doGet(req,res);

}

}

校验 LoginCl
package com.test;

import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class LoginCl extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res){

Connection ct=null;
Statement sm=null;
ResultSet rs=null;

try{

    String u=req.getParameter("username");
    String p=req.getParameter("password");
    
    //链接数据库
    //加载驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //得到链接
    ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
    
    sm=ct.createStatement();
    
    rs=sm.executeQuery("select password from t_user_pass where user_name='"+u+"'");
    
    if(rs.next()){
     //说明用户是存在的
     String dbpasswd=rs.getString(1);
    
     if(dbpasswd.equals(p)){
     //判断该用户是否已经成功登陆,通过验证
         HttpSession hs=req.getSession(true);
           //添加session属性,判断是否通过登陆验证
          hs.setAttribute("pass","ok");
    
         //为合法用户,浏览器跳转到wel界面
         res.sendRedirect("wel?username="+u+"&password="+p);
     }
    
     }else{
     //说明用户不存在
     //非法用户,浏览器跳转到login界面
     res.sendRedirect("login");
     }
}
catch (Exception ex){
ex.printStackTrace();
}finally{

try{
if(ct!=null){
ct.close();
}
if(sm!=null){
sm.close();
}
if(rs!=null){
rs.close();
}

}catch(Exception ex){
ex.printStackTrace();
}

}

}

public void doPost(HttpServletRequest req,HttpServletResponse res){

this.doGet(req,res);

}

}

欢迎界面 Wel
package com.test;

import javax.servlet.http.*;
import java.io.*;

public class Wel extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res){

//获取session
HttpSession hs=req.getSession(true);
String val=(String)hs.getAttribute("pass");

try{
        //如果值为空,则为登陆验证失败
        if(val==null){
res.sendRedirect("login?info=error");
  相关解决方案