jsp文件,其中包含用户名&在LoginServlet处理的密码...此servlet在Access数据库中执行验证。但即时得到错误在Servlet中访问数据库
如果用户名密码&与Access数据库则页面重定向匹配flat_status.jsp
可以ANY1帮我..
package Validate;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet{
@Override
public void init(ServletConfig config) throws ServletException
{
super.init(config);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (Exception ex)
{
System.out.println("Initialize connector string");
}
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
Connection conn;
Statement st;
ResultSet rs;
PrintWriter pw = response.getWriter();
String userName = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession(true);
response.setContentType("text/html");
try
{
conn=DriverManager.getConnection("jdbc:odbc:FBS");
st=conn.createStatement();
rs=st.executeQuery("select UserName,Password from user_login where UserName='"+userName+"' and Password='"+password+"'");
while(rs.next())
{
session.setAttribute("USerName",userName);
RequestDispatcher dispatch=request.getRequestDispatcher("/flat_status.jsp");
dispatch.forward(request, response);
}
st.close();
rs.close();
conn.close();
}
catch (SQLException ex)
{
pw.println(ex);
}
}
}
下面是异常的IM在浏览器中获取窗口
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access Driver]标准表达式中的数据类型不匹配。
哪一行是LoginServlet的第58行?我的猜测是它是'out.println'(ex.getMessage());',因为你写出来了,它被初始化为null。 – 2012-02-07 15:07:05
@ ^^ ...这是什么解决方案?当我删除PrintWriter和使用System.out.println(ex.getMessage());它显示空的servlet页面后点击提交按钮 – Shaggy 2012-02-07 16:55:09
它显示你一个空的页面,因为你有一个例外。如果您不想要空白页面,则向响应写入程序输出错误消息。 – 2012-02-07 17:21:41