Βοήθεια σε αρχάριο

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
manitu
Δημοσιεύσεις: 12
Εγγραφή: 28 Σεπ 2010 21:38

Βοήθεια σε αρχάριο

Δημοσίευση από manitu » 14 Δεκ 2010 00:47

Γεια σας,
Συγγνώμη αν οι ερωτήσεις μου είναι χαζές αλλά τώρα αρχίζω και μαθαίνω σιγά σιγά την όλη κατάσταση με τα servlets και mysql.
Έχω μια βάση δεδομένων που έχει ένα πίνακα με τα πεδία:
users_id
usernm
password
name_u
lastname
address
phone
email

Έχω φτιάξει ένα servlet που κάνουν εγγραφή εισάγοντας τα στοιχεία τους οι χρήστες.
Τώρα το θέμα μου είναι με το Login. Θέλω δηλαδή να κάνουν είσοδο οι χρήστες βάζοντας το username τους και το password Που είναι ήδη αποθηκευμένα στην βάση δεδομένων. Το κόλλημα μου είναι στο πως τα στέλνω στο servlet μου, αλλά αυτό δεν μου επιστρέφει τίποτα. και επίσης πως θα το κάνω να αποθηκεύει το user_id του χρήστη για τις επόμενες υπηρεσίες/servlets Που θέλω να φτιάξω;

Το login.call (servlet) μου:

Κώδικας: Επιλογή όλων

public class login extends HttpServlet {
    private Connection connection;
    private ResultSet rs=null;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, ClassNotFoundException, SQLException, ParseException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String connectionURL = "jdbc:mysql://localhost:3306/mydb";
        try {
            String strJson = request.getParameter("login_json");
            out.println("Login json= " + strJson);
            JSONParser jsonparser = new JSONParser();
            Object obj;
            obj = jsonparser.parse(strJson);
            JSONObject x = (JSONObject) obj;
            String usernm2 = (String) x.get("usernm");
            String usernm = usernm2.toString();
            out.println("Usernm= " + usernm);
            String pass2 = (String) x.get("pass");
            String pass = pass2.toString();
            out.println("Password= " + pass);
            Class.forName("com.mysql.jdbc.Driver");
            connection = (Connection) DriverManager.getConnection(connectionURL, "root", "");
            String sql ="SELECT * FROM LOGIN WHERE usernm = ? AND password = ?";
            PreparedStatement pst=(PreparedStatement) connection.prepareStatement(sql);
            pst.setString(1, usernm);
            pst.setString(2, pass);
            rs = pst.executeQuery();
            out.println&#40;"<p>SQL executed"&#41;;
            if &#40;rs.next&#40;&#41;&#41; &#123;
                out.print&#40;"<H1>OK</H1>"&#41;;
            &#125; else &#123;
            out.print&#40;"<H1>Failed</H1>"&#41;;
            &#125;
            response.toString&#40;&#41;;
            rs.close&#40;&#41;;
        &#125; finally &#123; 
            out.close&#40;&#41;;
        &#125;
    &#125;
κάνω χρήση json γιατί μου φαίνονται πιο εύκολα.

Το servlet το καλώ μέσα από μια jsp με χρήση jquery. Συγκεκριμένα:

Κώδικας: Επιλογή όλων

<script type="text/javascript" src="/login/jquery-1.4.2.js"></script>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Login Page</title>
    </head>
    <body>
        <h1>Please insert username and password to login</h1>
        <form>
            <table cellpadding="0px" cellspacing="0px">
                <tr>
                    <td>Username&#58;</td>
                    <td><input type="text" name="usernm" id="usernm"></td>
                </tr>
                <tr>
                    <td>Password&#58;</td>
                    <td><input type="password" name="pass" id="pass"></td>
                </tr>
                <tr>
                    <td><input type="button" value="Login" id="send"></td>
                </tr>
            </table>
        </form>
    </body>
</html>
<script type="text/javascript">
    jQuery&#40;
    function&#40;&#41;&#123;
        jQuery&#40;"#send"&#41;.click&#40;function &#40;&#41;&#123;
            var usernm = jQuery&#40;"#usernm"&#41;.val&#40;&#41;;
            var pass = jQuery&#40;"#pass"&#41;.val&#40;&#41;;
            var jsonString = '&#123;"usernm"&#58;"'+usernm+'","pass"&#58;"'+pass+'"&#125;';
            jQuery.post&#40;"login","login_json="+jsonString&#41;;
        &#125;&#41;;
    &#125;&#41;
</script>
μπορείτε να με βοηθήσετε; που κάνω λάθος;

Σας ευχαριστώ :)

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης