我在谷歌搜索了用戶名可用性。這個問題沒有任何好的解決方案。這裏我試圖檢查數據庫表user
中的用戶名可用性。我有以下代碼Spring MVC使用ajax檢查用戶名可用性
<input type="text" name="username" id="usernamee" tabindex="1"class="form-control" placeholder="Username"><span class="status">
這是我script
代碼
<script>
$(function(){
$("#usernamee").blur(function(){
var uname = $('#usernamee').val();
if(uname.length >= 3){
$(".status").html("<font> Checking availability...</font>");
$.ajax({
type: "GET",
url: "/exist/"+uname,
success: function(msg){
$(".status").html(msg);
}
});
}
else{
$(".status").html("<font color=red>Username should be <b>3</b> character long.</font>");
}
});
});
</script>
這是我的控制器代碼
@RequestMapping(value = { "/exist/{name}" }, method = RequestMethod.POST)
public void checkUsername(@PathVariable("name") String username, HttpServletResponse response , HttpServletRequest request) throws IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String connectionURL = "jdbc:mysql://localhost:81/name"; // students is my database name
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = (Connection) DriverManager.getConnection(connectionURL, "root", "root");
PreparedStatement ps = (PreparedStatement) connection.prepareStatement("select username from users where username=?");
ps.setString(1,username);
ResultSet rs = ps.executeQuery();
if (!rs.next()) {
out.println("<font color=green><b>"+username+"</b> is avaliable");
}
else{
out.println("<font color=red><b>"+username+"</b> is already in use</font>");
}
out.println();
} catch (Exception ex) {
out.println("Error ->" + ex.getMessage());
} finally {
out.close();
}
}
當我運行這些代碼status
span標籤僅只能說明checking availability.....
。我的控制器沒有被調用。上面的代碼是從互聯網上覆制而來的。歡迎任何建議。 預先感謝您
你期望什麼?什麼是一個很好的解決方案?你有什麼問題? –
上面的代碼不能按預期工作 我想顯示任一用戶名是否可用 –
我編輯了我的問題一下關於錯誤 –