Java 在jsp页面上使用servlet表单而不重定向到servlet

Java 在jsp页面上使用servlet表单而不重定向到servlet,java,javascript,jsp,servlets,jstl,Java,Javascript,Jsp,Servlets,Jstl,我正在处理一个需要一个JSP页面的项目,该页面包括另一个使用Servlet处理登录表单的JSP页面 我遇到的问题是,每当我尝试登录时,servlet都会工作,表单中可能出现的错误就会显示出来,但是链接会重定向到servlet,并且不会停留在同一个JSP页面上 使用模板时的外观示例: -单击登录前的JSP页面 链接:JSPpage.jsp **text outside of included login form** <included JSP page with the login for

我正在处理一个需要一个JSP页面的项目,该页面包括另一个使用Servlet处理登录表单的JSP页面

我遇到的问题是,每当我尝试登录时,servlet都会工作,表单中可能出现的错误就会显示出来,但是链接会重定向到servlet,并且不会停留在同一个JSP页面上

使用模板时的外观示例: -单击登录前的JSP页面

链接:JSPpage.jsp

**text outside of included login form**
<included JSP page with the login form>
Email: something
Password: ******
Prijava.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     <%@ page isELIgnored="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Renta Ferari</title>
        <link rel="stylesheet" type="text/css" href="obrazci.css">
    </head>
    <body >
    <div style="width:250px;height:110px; border:solid 1px; bordor-radius:15px; border-color:red">
        <c:choose>
            <c:when test="${!prijava}">
                <form method="post">
                    <table align="center">
                        <tr><td>E-mail:</td> <td><input type="text" name="email" class="vnos" value="${email}"></td></tr>
                        <tr><td>Geslo: </td><td><input type="password" name="geslo" class="vnos"><br></td></tr>
                        <tr><td colspan="4"><c:out value="${napakaPrijava}"></c:out></td></tr>
                        <tr><td colspan="2"><input type="submit" name="prijava" value="Prijava"></td></tr>
                    </table>

                </form>

            </c:when>


            <c:otherwise>
                <div align="center">
                    Prijavljeni ste kot: <c:out value="${email}"></c:out>
                    <form method="post" action="login">
                        <input type="submit" name="odjava" value="Odjava">                  
                    </form>
                </div>
            </c:otherwise>
        </c:choose>

        </div>




    </body>
</html>
因此,基本上我希望将上述代码与模板的页眉、内容和页脚一起包含在一个新的JSP中


我尝试了很多选项和解决方案,比如jsp:include,,从您的代码和您所说的内容来看,您的应用程序的每个页面上都包含了一个登录表单。当用户使用表单时,您希望他们在提交登录表单之前重定向回他们正在查看的任何页面。 您可以做的是将原始servlet或jsp的servlet路径作为隐藏字段包含在表单中:

<input type="hidden" name="forwardTo" value="${pageContext.request.servletPath}" /> 

您能在servlet和JSF文件中显示代码吗?我已经相应地添加了代码,希望我也解释得很好@helderdarochaI已经尝试过了,获得HTTP状态500-Null指针异常并重定向到servlet页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
     <%@ page isELIgnored="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Renta Ferari</title>
        <link rel="stylesheet" type="text/css" href="obrazci.css">
    </head>
    <body >
    <div style="width:250px;height:110px; border:solid 1px; bordor-radius:15px; border-color:red">
        <c:choose>
            <c:when test="${!prijava}">
                <form method="post">
                    <table align="center">
                        <tr><td>E-mail:</td> <td><input type="text" name="email" class="vnos" value="${email}"></td></tr>
                        <tr><td>Geslo: </td><td><input type="password" name="geslo" class="vnos"><br></td></tr>
                        <tr><td colspan="4"><c:out value="${napakaPrijava}"></c:out></td></tr>
                        <tr><td colspan="2"><input type="submit" name="prijava" value="Prijava"></td></tr>
                    </table>

                </form>

            </c:when>


            <c:otherwise>
                <div align="center">
                    Prijavljeni ste kot: <c:out value="${email}"></c:out>
                    <form method="post" action="login">
                        <input type="submit" name="odjava" value="Odjava">                  
                    </form>
                </div>
            </c:otherwise>
        </c:choose>

        </div>




    </body>
</html>
<input type="hidden" name="forwardTo" value="${pageContext.request.servletPath}" /> 
String forwardTo= request.getParameter("forwardTo");
RequestDispatcher view = getServletContext().getRequestDispatcher(forwardTo);
    view.forward(request, response);