当前位置: 首页 > 知识库问答 >
问题:

Java Servlet未从JSP表单接收值

楚硕
2023-03-14

这是我第一次设置Java Servlet,我试图在用户单击特定按钮时从JSP表单中的输入字段检索值到Java Servlet中。我还不确定是否使用了正确的做法来创建Servlet。我只需右键单击Apache Tomcat 8.0服务器,然后选择新的Servlet。

JavaServlet:

@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {

    private static final long serialVersionUID = 3719628899527775749L;

    public loginServlet() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String username = request.getParameter("username");
        String password = request.getParameter("password");

        // do some processing here...

        // get response writer
        PrintWriter writer = response.getWriter();

        // build HTML code
        String htmlRespone = "<html>";
        htmlRespone += "<h2>Your username is: " + username + "<br/>";      
        htmlRespone += "Your password is: " + password + "</h2>";    
        htmlRespone += "</html>";

        // return response
        writer.println(htmlRespone);
    }
}

JSP:

<form name="loginForm" action="loginServlet" method="post" id="loginForm">
            <div class="imgcontainer">
                <img src="images/img_avatar2.png" alt="Avatar" class="avatar">
            </div>

            <div class="container">
                <label><b>Username</b></label>
                <input type="text" placeholder="Enter Username" name="uname" required>

                <label><b>Password</b></label>
                <input type="password" placeholder="Enter Password" name="psw" required>

                <button id="loginButton" name="loginButton" type="submit">Login</button>
                <button id="registerButton" name="registerButton" type="button">Register</button>
                <input type="checkbox" checked="checked"> Remember me
            </div>

            <div class="container" style="background-color:#f1f1f1">
                <button type="button" class="cancelbtn">Cancel</button>
                <span class="psw">Forgot <a href="#">password?</a></span>
            </div>
        </form>

共有1个答案

孙成化
2023-03-14

您的请求属性的名称是添加在Jsp页面上的unamepsw。所以你必须像这样改变你的doPost方法。

String username = request.getParameter("uname");
String password = request.getParameter("psw");

您必须在jsp页面中更改表单,如下所示:

<label><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
 类似资料:
  • 我正在编写一个web应用程序,其中客户端将(JSON)表单数据发布到,服务器也应该使用JSON进行响应。服务器端使用java servlet编写,运行在Tomcat上,客户端使用Angular 7编写。不幸的是,即使在通过HTTP头启用CORS之后,我仍然面临CORS错误。我有什么遗漏吗? 这就是我在客户端遇到的错误:在'http://localhost:8080/mysocial/signIn“

  • 然后我得到一个警告 在此行找到多个批注:-类型安全:未检查的从对象到ArrayList的强制转换-类型不匹配:无法从对象转换到ArrayList

  • 我有一个简单的api fetch,它返回一个我想要插入到输入中的数字。我正在使用Document.getElementById(#id).InnerHTML。我可以通过console.log看到该值,但它没有显示在输入中。

  • 我的代码中有一个Spring JmsListener。它接收和消费消息2天,但突然在这2天后,它没有收到来自外部Activemq的消息。然而,它的队列中有一些挂起的消息。当我重置Activemq和消费者时,消费者会收到大量消息。当消息挂起时,连接到Activemq的消费者(代表Spring致动器日志)。日志和配置显示Activemq没有将消息推送给消费者。我有另一个像这个消费者一样的服务从其他队列

  • 这是我的代码: 还有php脚本 无论出于什么原因,php都不会从ajax脚本中接收变量。PHP能够向ajax成功函数发送变量,并且Apache日志中没有错误。有人能告诉我我没有做错什么吗?我还担心apache也会出问题。

  • 将html表单转发到具有 用于在jsp页面中处理“name”参数。当没有提供名称时,我确实希望表单提交给jsp,jsp应该检测“null”以处理if-else循环以显示相关消息。 我如何做到这一点?