做了一个系统登录作业练习,代码已贴出:
控制台提数错误:




登录界面 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");