【发布时间】:2014-04-01 00:58:47
【问题描述】:
对于我的 Web 应用程序,我有一个用户名文本字段,我需要从 mysql 数据库中检查用户名的可用性,并且应该在文本字段下方显示状态为可用或不可用..
我已经像这样更改了我的代码它的部分工作所以请仔细阅读这段代码并帮助我......
这是我的 JSP:
<tr>
<td>Choose your UserName* :</td>
<td><script type="text/javascript" src="jquery.js"></script>
<input type="text" name="txtUsername" id="username">@gmail.com
<div id="status"></div>
<script type="text/javascript" src="js/check_user.js"></script>
<span id="errorMissingUserName" style="display:none;"><font color="red">*Please provide your username.</font></span>
<span id="errorUserNameInvalid" style="display:none;"><font color="red">*Please provide a valid username.Username can contain only alphabets numbers and periods</font></span>
<span class="status"></span>
</tr>
这是我的 servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
String uname=request.getParameter("txtUsername");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname/uname/pass");
PreparedStatement ps=conn.prepareStatement("select * from register where UserName=?");
ps.setString(1,uname);
ResultSet rs=ps.executeQuery();
if(rs.next()){
out.println("<font color=red>");
out.println("UserName not available");
out.println("</font>");
}
else{
out.println("<font color=green>");
out.println("UserName available");
out.println("</font>");
}
rs.close();
ps.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
只有 else 子句有效,if 子句无效
这是我的 check_user.js
$('#username').keyup(function()
{
var username=$('#username').val();
$('#status').html('<img src="images/username_loader.gif" >');
if (username!=''){
$.post('CheckUsername',{username:username},
function(data)
{
$('#status').html(data);
});
}
else{
$('#status').html('');
}
});
我意识到String uname = request.getParameter("txtUsername"); 给用户名一个空值给servlet...如何检查每个字母何时输入到jsp 并将其与已经存在的数据库名称进行比较?有人请帮我解决这个问题....
【问题讨论】:
-
定义不工作并描述您遇到的问题。你的代码问题太多了。
-
@Bart 是 javascript 的新手,我确信我的 servlet....所以任何问题都应该只存在于 javascript 和 标记中...任何帮助将不胜感激.. .
-
你还没有定义不工作
-
您在浏览器中访问该网址时是否看到任何输出?如果代码抛出异常,则不会打印任何内容。
-
@Bart no 我没有看到任何输出
标签: java jquery mysql jakarta-ee java-ee-7