Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用JSTL进行简单用户登录_Xml_Jsp_Servlets - Fatal编程技术网

Xml 使用JSTL进行简单用户登录

Xml 使用JSTL进行简单用户登录,xml,jsp,servlets,Xml,Jsp,Servlets,我试着根据我在网上找到的教程创建一些Javaservlet文件。现在,我想创建一个简单的登录,但我一直得到HTTP://404 LoginServlet.java package example; @WebServlet(name = "logina", urlPatterns = { "/logina" }) public class Login extends HttpServlet { protected void doPost(HttpServletRequest request,

我试着根据我在网上找到的教程创建一些Javaservlet文件。现在,我想创建一个简单的登录,但我一直得到HTTP://404

LoginServlet.java

package example;

@WebServlet(name = "logina", urlPatterns = { "/logina" })
public class Login extends HttpServlet {

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

    String a = request.getParameter("username");
    String result;
    if("a".equals(a)) {
        result = "good";
    } else {
        result = "bad";
    }
    request.setAttribute("result", result);
    RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
    rd.forward(request, response);
}
}
login.jsp

<form action="/example/logina" method="post">
    <input type="text" name="username">
    <input type="submit" name="submit" value="submit">
</form>

<%String rq = request.getParameter("result");
out.println(rq);
%>

  • 由于我使用的是notation@WebSevlet,我是否需要在web.xml中创建servlet映射?我听说,由于我们使用的是Servlet3.0,我们不再需要web.xml文件(我也尝试使用web.xml,但它也不起作用)
  • 既然我的login.java在示例包下,我应该在action或/logina的表单中包含/example/logina,只要它与servlet模式匹配就可以了
  • 如果我的login.jsp位于users文件夹下,servlet urlPatterns会是什么样子?会是/users/logina吗
  • 由于我使用的是notation@WebSevlet,我是否需要在web.xml中创建servlet映射?我听说,由于我们使用的是Servlet3.0,我们不再需要web.xml文件(我也尝试使用web.xml,但它也不起作用)

    不,您不需要。这是注释的目的

    既然我的login.java在示例包中,我应该包括 /表单action或/logina中的example/logina只要 与servlet模式匹配吗

    操作中的
    url
    必须与servlet的
    urlPatterns

    如果我的login.jsp在users下,servlet URL模式是什么样子的 文件夹会是/users/logina吗


    要理解这一点,您应该像这样使用它
    RequestDispatcher rd=request.getRequestDispatcher(“users/login.jsp”)

    谢谢您的回复。因此,只要操作中的url与servlet的url模式匹配,并且它们都与另一个url不同。我已经在我的代码中尝试过了,但它不起作用。My login.jsp不在用户文件夹中。我只想举一个例子,我可能需要更改url模式以匹配操作中url的路径,但似乎我不需要担心这一点。您是否尝试过在表单中替换为
    action=“/logina”
    ?是的,我尝试过。这是我第一次尝试实施。但因为它也不起作用。