jsp不执行定义的function和servlet

创建的jsp网页,点击不执行定义的function和servlet,无响应

网页中点击用户注册没有响应,也接受不到servlet返回的数据

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
    <link rel="stylesheet" href="index.css">
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<div class="box">
    <div class="right"></div>
    <h1>登&nbsp&nbsp&nbsp录</h1>
    <form name="login-form" action="" method="post">
        <label>
            <input class="login-box1" type="text" name="sign-name" id="sign-name" placeholder="用户名">
            <input class="login-box2" type="password" name="sign-password" id="sign-password" placeholder="密码">
            <input class="login" type="submit" value="登录" onclick="signcheck()">
        </label>
    </form>
    <label>
        <input class="forget" type="button" value="忘记密码" onclick="forget()">
        <input class="news" type="button" value="用户注册" onclick="register()">
    </label>
</div>
<div class="box1">
    <div class="right"></div>
    <h1>注&nbsp&nbsp&nbsp册</h1>
    <form action="servlet" method="post">
        <label>
            <input class="login-box1" type="text" name="username" id="username" placeholder="用户名">
            <input class="login-box2" type="password" name="password1" id="password1" placeholder="设置密码">
            <input class="login-box3" type="password" name="password2" id="password2" placeholder="再次确认">
            <input class="login" type="button" value="注册" onclick="enroll()" >
        </label>
    </form>
</div>
<script>
    let flag = true;
    function register(){
        alert("hhh")
        if (flag){
            $(".box1").css("transform","translateX(-105%)")
        }flag=!flag
    }
    function enroll() {
        if (flag){
            $(".box1").css("transform","translateX(105%)")
            let test=0
            test=${requestScope.flag1}
            if(test===1){
                alert("hhh")
            }
        }flag=!flag
    }
</script>

运行没有弹窗,点击用户注册也没有响应
下面是servlet的代码

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Objects;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/servlet")
public class servlet extends HttpServlet{
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("username");
        String password1 =request.getParameter("password1");
        String password2 =request.getParameter("password2");
        response.setContentType("text/html;charset=utf-8");
        if(Objects.equals(name, "123")){
            //response.sendRedirect("test.html");
            request.setAttribute("flag1",1);
            request.getRequestDispatcher("index.jsp").forward(request,response);
        }else{
            response.sendRedirect("test1.html");
        }
    }
}

试过删掉test=${requestScope.flag1},页面能变化了但不能接收servl返回的信息
试过用${flag1}页面没有变化
用request接收好像也没有执行servlet里的内容

运行配置有jQuery,tomcat8.5,maven3.3,Node.js,编译器是idea2023
( •̀ ω •́ )y

注册哪里,type="button" 改成 type="submit"才能提交,或者在register函数中进行模拟表单提交。

【以下回答由 GPT 生成】

问题分析: 问题的描述是在jsp页面中定义了function和servlet,但是在点击时无法执行,并且无法接收到servlet返回的数据。根据代码和描述,可以初步判断以下几个可能的问题:

  1. JavaScript代码没有被正确加载或执行。
  2. 代码中存在语法错误导致无法执行。
  3. servlet没有正确配置或定义。

解决方案: 以下是可能的解决方案:

  1. 首先确保JavaScript代码正确加载。可以使用浏览器的开发者工具(如Chrome的开发者工具)检查网络请求和加载的JavaScript文件。确保jQuery文件能够正确加载。

  2. 在代码中,JavaScript部分被注释掉了,这意味着其中的代码不会被执行。你需要取消注释和定义需要执行的function以及绑定事件处理函数。取消注释的方式是删除注释符"//"。

<script>
function myFunction() {
    // 执行你的代码
}

$('#sign-name').click(function() {
    // 处理函数逻辑
});
</script>

确保function和事件处理函数在需要执行的地方被正确定义和绑定。

  1. servlet的问题有多种可能性。首先,确保servlet的代码和配置正确无误。可以检查servlet的类路径和URL配置,确保servlet能够正确访问和执行。另外,也需要确保servlet的依赖库正确加载。

建议参考以下步骤来排除servlet的问题:

  • 确保servlet类正确被编译并放置在正确的位置。
  • 检查servlet的web.xml配置文件,确保servlet的配置正确无误。
  • 检查servlet类的import语句,确保所需的类被正确导入。
  • 检查servlet的依赖库,确保所需的库被正确加载和引用。

如果以上步骤没有解决问题,可以进一步提供servlet的代码和配置,以便更详细地分析问题。

总结: 在解决问题时,需要确保JavaScript代码正确加载并且没有语法错误。另外,在处理servlet的问题时,需要确保servlet的代码和配置正确无误,并检查依赖库的加载情况。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^