1

ユーザー名の可用性をチェックするために、ajaxベースのjspコーディングをいくらか実行しました。それは完璧に機能しました。多少の誤差があるかもしれませんが。それで、もしあればそれを指摘してください。今私の主な質問は、チェックした後、Gmail登録フォームで見ることができるように、ユーザーが使用するためのいくつかのユーザー名も生成したいということです。私はここに私のコードを与えています...

まず、index.html..。

    <html>
<body>
<form action=sample.jsp method=post>
id<input type=text name=id><br>
<input type=submit value=next>
</form>
</body>
</html>

今sample.jsp....

<jsp:useBean id="ob" class="sample.Database" scope="session" />
<jsp:setProperty name="ob" property="*" />
<html>
<head>
var xmlHttp  
    var xmlHttp
    var checkvalue

    function showState(p1){ 
        if (typeof XMLHttpRequest != "undefined"){
            xmlHttp= new XMLHttpRequest();
            }
            else if (window.ActiveXObject){
            xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
            }
        if (xmlHttp==null){
                alert ("Browser does not support XMLHTTP Request")
            return
        } 
        var url="getlist.jsp?name="+p1;
        xmlHttp.onreadystatechange = stateChange;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }

    function stateChange(){   
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){   
            checkvalue=document.getElementById("name").innerHTML=xmlHttp.responseText;
            document.f1.checking.value = xmlHttp.responseText; 
        }   
    }

    function conditions(){
        if(!checkvalue.match("Available"))
        {
            alert("no match");
            return false
        }
    }

</script>  
</head>  
<body >  
<center>
<br>  
<form action="sample1.jsp" name="f1" method="post" onsubmit="return conditions()">
name <input type=text name=name onchange="showState(this.value);"><div id='name'></div><br>
checking<input type=text name=checking><br>
    <input type=submit value=next>



</form>
</body> 
</html>

今getlist.jsp..。

    <jsp:useBean id="ob" class="sample.Database" scope="session" />
<%
    String n=request.getParameter("name");
    if(ob.checkName(n)==0)
    {
%>
        <font color=green>Available</font>
<%
    }
    else
    {
%>
        <font color=red>Not available</font>
<%
    }
%>

今sample1.jsp...。

<jsp:useBean id="ob" class="sample.Database" scope="session" />
<jsp:setProperty name="ob" property="*" />
<%
    if(ob.insertData()==1)
        out.println("Success");
    else

        out.println("Unsuccess");
%>

パッケージ内のクラスファイルのコード->サンプルファイル名->Database.java..。

package sample;

import java.util.*;
import java.sql.*;

public class Database
{
    private String id="",name="";
    private int t=0;
    private Connection con;

    public void setName(String name)
    {
        this.name=name;
    }

    public String getName()
    {
        return name;
    }

    public void setId(String id)
    {
        this.id=id;
    }

    public String getId()
    {
        return id;
    }

    public Connection c1()
    {
        try{
            Class.forName("oracle.jdbc.OracleDriver");
            con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1000:xe","system","12345");
        }
        catch(Exception e){}
        return con;
    }

    public int checkName(String n)
    {
        try{
            con=c1();
            PreparedStatement pst = con.prepareStatement("select name from testani where name='"+n+"'");
            t = pst.executeUpdate();
            con.close();
        }
        catch(Exception e){}
        return t;
    }

    public int insertData()
    {
        try{
            con=c1();
            PreparedStatement pst = con.prepareStatement("insert into testani values('"+name+"','"+id+"')");
            t = pst.executeUpdate();
            con.close();
        }
        catch(Exception e){}
        return t;
    }
}

mysqlを使用して、属性nameとidを持つtestaniという名前のデータベースを作成しました...

さて、どうすればこのコードを変更していくつかの名前を生成できますか....よろしくお願いします。

4

1 に答える 1

0

名前を提案するには、独自のアルゴリズムを作成する必要があると思います。

ユーザーが自分の名前、名前、生年月日などを入力したときのように。次に、これらの値を取得し、単語や生年月日など、提案されたユーザー名を生成するものを組み合わせて(連結して)処理するアルゴリズムを設計できます。

次に、そのリストをユーザーに返すだけです。

于 2013-01-04T13:46:12.410 に答える