1

ユーザー登録ページがあり、ユーザー名とパスワードを入力するオプションがあります。登録ボタンをクリックすると、ユーザーが既にデータベースに存在するかどうかを検証する必要があります。

ユーザーが存在する場合は、非表示のラベルを表示して画面にとどまるか、次のページに移動する必要があります。

JSP コード

<%@ page import="pkg.Login.*"%> 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<Script type = "text/javascript">
    function ManFieldValidation()
    {
        String tempVal = document.forms["form1"]["txtUserID"].value;
        UserExistingCheck strObj = new UserExistingCheck();
        boolean iReturn = strObj.CheckIDExist(tempVal);
        return iReturn
    }
</Script>
<body>
    <form name = "form1" onSubmit = "return ManFieldValidation()" action = "ServRegister" method="post">
        <label id = "lblUserError" style="visibility:hidden;"><font color = "red">The User ID is already available</font></label><br></br>
        <label>User ID</label>
        <input type = "text"name = "txtUserID" size="8" maxlength="10"></input>

        <label>Password</label>
        <input type = "password" name = "txtPassword" size="8" maxlength="10"></input>

        <input type = "submit" class = "tfbutton" name = "Register" value = "Register"></input>
    </form>
</body>
</html>

JSP - "Register.jsp"

サーブレット - "ServRegister.java" (ユーザーが存在しない場合にデータベースにデータを挿入するため)

私はすでにサーブレットを持っているので; 既存のユーザーについて検証し、true または false を返す Java メソッドを作成しようとしました。以下はJavaコードです。

Java メソッド

package pkg.Login;
import java.sql.*;
public class UserExistingCheck 
{
    public void CheckIDExist(String tempVal)
    {
        try
        {
            String url = "jdbc:sqlserver://localhost:1433;"+
                    "databaseName=WebPortal;user=VRHAJAS;Password=Vignesh007";                    
            Connection conn = null;
            Statement select = null;
            ResultSet result = null;

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conn=DriverManager.getConnection(url);

            select = conn.createStatement();
            String sQuery = "Select * from dbo.UserDetails where UserID = '" + tempVal + "'";
            result=select.executeQuery(sQuery);
            conn.close();               
            if(result.next())
            {   
            return false;           
            }
            else
            {
                return true;
            }
        }   

        catch (Exception e)
        {                           
            e.printStackTrace();
            return false;
        }       
    }
}

登録ボタンをクリックすると、上記のメソッドは呼び出されません。代わりに「ServRegister.java」が実行されます。表示されるエラーもありません。エクリプスを使用しています。誰でも解決策を提案できますか?

4

1 に答える 1

0

REST アーキテクチャを探していると思います。注釈は、呼び出されるメソッドへのパスを構築します。クライアント側で AJAX を実行するだけで済みます。

于 2013-10-03T11:11:24.397 に答える