0

好的,我不知道我在做什么,但我试图通过示例程序和片段来理解它。需要明确的是,我的概念丢失了。所以我可能有一个非常明显的错误(对我来说不是)。

我正在本地主机上创建一个简单的用户名密码字段,并且需要能够使用文本字段输入来匹配它们。我的页面正确显示了按钮和字段(WEB-INF 中的 index.htm),但我的 java 类需要获取字符串值。我知道表单操作需要 URL,但是如何将它发送到我的 java 类?我尝试使用 request.getParamater("id") 但它说没有附加文档。

下面是html部分

<!DOCTYPE html>
<html>

<head><title> Multi Factor Authentication Prototype </title>
<link rel="stylesheet"
  href="./css/styles.css"
  type="text/css"/>
</head>


<body>
<table class="title">
  <tr><th>Multi-factor Authentication, level 1 prototype </th></tr>
</table>

<p/>
<fieldset>
<form name="mfa1" action="check" method="post">
<legend> Login </legend> <ul> <br />
Username : <input title="Please Enter the Username" id="uname" name="uname" type="text" size="20" /><br />
<br />
Password : <input title="Please Enter your password" id="pwd" name="pwd" type="password" size="20" /><br />
<br />

</body>
</html>

这是java类。它说请求字段中没有引用 java 文档,是的,不显示任何内容。

package test;

import java.io.*;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;

import java.lang.*;

@WebServlet("/check")

public class TestServlet extends HttpServlet{


@Override
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    String un = request.getParameter("uname");
    PrintWriter out = response.getWriter();
    out.println
      ("<!DOCTYPE html>\n" +
       "<html>\n" +
       "<head><title>tuiy</title></head>\n" +
       "<body bgcolor=\"#fdf5e6\">\n" +
       "<h1>"+un+"</h1>\n" +
       "\n" +
       "</body></html>");


}
}

或者有没有办法在同一个文件中插入 if/else 子句和各种函数?如果您能帮我指出在 java 中获取参数的方法,我真的更愿意。

4

1 回答 1

3

您正在使用 doGet 方法,但您的表单正在使用 POST。使用 doPost 方法。另请参阅Servlet 中的 doGet 和 doPost

于 2013-06-25T07:49:11.260 回答