Java 单击按钮时Servlet到jsp-错误是什么?

Java 单击按钮时Servlet到jsp-错误是什么?,java,jsp,servlets,Java,Jsp,Servlets,我在jsp页面上有一个简单的表单,如下所示。单击该按钮后,我们将看到一个名为LoginValidation的servlet。但它不起作用 <form name="login_form" action="LoginValidation" method="get" onsubmit="return func()" > <input type="text" placeholder="Username" id="username" class="style-4" /&g

我在jsp页面上有一个简单的表单,如下所示。单击该按钮后,我们将看到一个名为LoginValidation的servlet。但它不起作用

  <form name="login_form" action="LoginValidation" method="get" onsubmit="return func()" >
      <input type="text" placeholder="Username" id="username" class="style-4" />
      <input type="password" placeholder="Password" id="pass" class="style-4" />
      <input type="submit" class="button" name="Sign_button" "/>
  </form>
xml映射(LoginValidation在包控制器中):


逻辑验证
Controller.login验证
逻辑验证
/逻辑验证

基本上,在登录时,func()会运行。如果值为true,则理想情况下应该转到LoginValidation servlet。但该功能没有正常运行。当我早些时候做的时候,我的另一个项目也在做同样的事情。我做错了什么?

在一个单独的jsp中尝试了该代码,提取并粘贴了部分,删除了额外的div。似乎能让它工作。

在一个单独的jsp中尝试代码,提取部分并粘贴它们,删除额外的div。似乎可以正常工作。

您遇到了什么错误代码挂起在哪里?正在调用
func()
函数吗?里面有错误吗?表单是否正在提交到servlet?servlet中是否有错误<代码>“但它不起作用”并没有给我们太多的时间去做…当我点击按钮时,它只是在某种程度上刷新,什么也不做。没有警报,没有向它应该去的地方行进。没什么。我尝试了你发布的相同代码,它对我有效。我能够看到警报,并且我已经定义了一个servlet,可以获取参数,如果您想在servlet中获取username的值,还应该在中使用name而不是id。getParameter(“username”)不会在servlet中为您提供值,您应该在输入字段中使用name=“username”,因为请求参数是名称-值对。也请参考这个链接,这段代码对我来说是在一个单独的jsp中工作的,这意味着它是正确的。但是,如果我在另一个jsp中运行它,就会出现问题。为什么同一段代码在不同的地方表现不同?你会遇到什么错误?代码挂在哪里?正在调用
func()
函数吗?里面有错误吗?表单是否正在提交到servlet?servlet中是否有错误<代码>“但它不起作用”并没有给我们太多的时间去做…当我点击按钮时,它只是在某种程度上刷新,什么也不做。没有警报,没有向它应该去的地方行进。没什么。我尝试了你发布的相同代码,它对我有效。我能够看到警报,并且我已经定义了一个servlet,可以获取参数,如果您想在servlet中获取username的值,还应该在中使用name而不是id。getParameter(“username”)不会在servlet中为您提供值,您应该在输入字段中使用name=“username”,因为请求参数是名称-值对。也请参考这个链接,这段代码对我来说是在一个单独的jsp中工作的,这意味着它是正确的。但是,如果我在另一个jsp中运行它,就会出现问题。为什么同一段代码在不同的地方表现不同?你会遇到什么错误?代码挂在哪里?正在调用
func()
函数吗?里面有错误吗?表单是否正在提交到servlet?servlet中是否有错误<代码>“但它不起作用”并没有给我们太多的时间去做…当我点击按钮时,它只是在某种程度上刷新,什么也不做。没有警报,没有向它应该去的地方行进。没什么。我尝试了你发布的相同代码,它对我有效。我能够看到警报,并且我已经定义了一个servlet,可以获取参数,如果您想在servlet中获取username的值,还应该在中使用name而不是id。getParameter(“username”)不会在servlet中为您提供值,您应该在输入字段中使用name=“username”,因为请求参数是名称-值对。也请参考这个链接,这段代码对我来说是在一个单独的jsp中工作的,这意味着它是正确的。但是,如果我在另一个jsp中运行它,就会出现问题。为什么同一段代码在不同的地方表现不同?
   function func()
        {  
            var filter="";
            var uname = document.getElementById('username').value;
            var pass = document.getElementById('pass').value;
            if(uname==filter && pass==filter)
                {
                    alert('Please enter your username and password to sign in.');
                    return false;

                }
            else if(uname==filter)
                {
                    alert('Please enter your username to sign in.');
                    return false;
                }
            else if(pass==filter)
                {
                    alert('Please enter your password to sign in.');
                    return false;  
                }
                else
                    return true;
        }
 <servlet>
    <servlet-name>LoginValidation</servlet-name>
    <servlet-class>Controller.LoginValidation</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginValidation</servlet-name>
    <url-pattern>/LoginValidation</url-pattern>
</servlet-mapping>