如何从jsp调用java函数

Arc*_*ana 1 javascript java jsp

我要求将项目中用户使用的用户名与已注册的其他用户名进行比较.用户名应该是不同的.为此,输入在newuser.jsp中获取,后者又调用SemanticSearch.java中的函数searchForUsername.当新用户注册时,即使检查了电子邮件ID以进行验证,并且稍后在键入用户名时,也需要进行上述检查.我试过一种不起作用的方法.请指出我在做什么错误?

我在SemanticSearch.java中的代码有构造函数:

public SemanticSearch() {}
Run Code Online (Sandbox Code Playgroud)

验证电子邮件ID后,以下代码如下.

我在newuser.jsp中的代码是

SemanticSearch myclass=new SemanticSearch();

boolean rets=myclass.searchForUsername(username);

if (rets==false)

{

    alert("Username already exists");

    document.getElementById("username").value="";

    document.getElementById("password").value="";

    document.getElementById("username").focus();

}
Run Code Online (Sandbox Code Playgroud)

在adduser按钮的单击事件期间,必须调用此函数.但在点击功能期间似乎没有任何事情发生.请帮忙.

Bal*_*usC 5

您正在混合使用Java和JavaScript语言.这是不正确的.它们都是在不同环境中运行的不同语言.Java在webserver中运行,JavaScript在webbrowser中运行.

基本上有两种方法可以达到这个要求.

  1. 创建一个监听某个URL的servlet,执行验证作业,然后让表单提交给它,让servlet返回到使用JSP/EL显示错误消息的同一页面.您可以在我们的servlet wiki页面中找到一个简单的示例.

  2. 创建一个servlet,它监听某个URL,执行验证工作,然后让您的JavaScript代码通过Ajax技术调用它,并相应地修改HTML DOM以添加错误消息.你可以在这个问题的答案中找到一个考试.