首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Web编程

Java Web编程
EN

Stack Overflow用户
提问于 2014-04-02 06:15:27
回答 1查看 183关注 0票数 2

我创建了一个登录页面,并将登录信息处理到数据库中。这个类检查user并返回他的ID,在我初始化变量UID之前,一切都很顺利。在那之后,我有一个SQL查询,它破坏了程序。我的错误是什么?

错误

代码语言:javascript
复制
HTTP Status 500 - Internal Server Error

type Exception report

messageInternal Server Error

descriptionThe server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
root cause

java.lang.NullPointerException

login.jsp

代码语言:javascript
复制
</head>
<body>
    <%
    if(request.getParameter("submit")!=null)
    {
        String ime = request.getParameter("name");
        String pass = request.getParameter("pass");
        int uid = DbBroker.checkUser(name,pass);

        if (uid>0)
        {
            session.setAttribute("uid", name);
            response.sendRedirect("prodaja.jsp");
        }
        else if (uid==0)
        {
            session.setAttribute("uid", ime);
            response.sendRedirect("administrator.jsp");
        }       
        else  out.print("Korisnik nepostoji");

    }
    %>

</body>

dbBroker.java

代码语言:javascript
复制
public class DbBroker {

    public static Connection conn;

    public  static void conn()
    {
        try
        {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/prodavnica", "root", "");
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }

    private void close()
    {
        try
        {
            conn.close();
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }  

    public static int checkUser(String name, String pass) throws SQLException
    {
        conn();
        name=name.trim().replace("'", "");
        pass=pass.trim().replace("'","");
        int uid = -1;
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("SELECT id from user WHERE name='"+name+
                                     "' and pass='"+pass+"';");
        if (rs.next())
        {
            uid=rs.getInt("id");
        }
        conn.close();
        return uid;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-11-26 01:33:48

我认为您需要将"DbBroker“类添加到JSP Page中,如下所示:

<%@ page import="packagename.DbBroker“%>

代码语言:javascript
复制
<html>
<%@ page import="packagename.DbBroker" %>
   <head>
   </head>
<body>
    <%
    if(request.getParameter("submit")!=null)
    {
        String ime = request.getParameter("name");
        String pass = request.getParameter("pass");
        int uid = DbBroker.checkUser(name,pass);

        if (uid>0)
        {
            session.setAttribute("uid", name);
            response.sendRedirect("prodaja.jsp");
        }
        else if (uid==0)
        {
            session.setAttribute("uid", ime);
            response.sendRedirect("administrator.jsp");
        }       
        else  out.print("Korisnik nepostoji");

    }
    %>

</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22797980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档