繁体   English   中英

如何调用Java方法(而不是Servlet)到JSP?

[英]How to call a java method (other than servlet) to jsp?

我有一个注册用户页面,可以选择输入用户名和密码。 在单击注册按钮时,我需要验证用户是否已经在数据库中。

如果用户存在,我需要显示一个隐藏标签并停留在屏幕上,否则导航到下一页。

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”

Servlet-“ ServRegister.java”(如果用户不存在,则将数据插入数据库)

因为我已经有一个servlet了; 我尝试编写一个Java方法来验证现有用户并返回true或false。 以下是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”。 也不会显示任何错误。 我正在使用日食。 谁能提出解决方案?

我认为您正在寻找REST架构。 注释将构建要调用的方法的路径,您只需在客户端执行AJAX。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM