Servlets 简单HTML表单提交错误
我试图创建一个简单的HTML表单,将数据从JSP提交到Servlet。我得到404未发现异常。我的请求URL:Servlets 简单HTML表单提交错误,servlets,Servlets,我试图创建一个简单的HTML表单,将数据从JSP提交到Servlet。我得到404未发现异常。我的请求URL:http://*****:80**/myapps/more/test.html HTML 您的表单操作URL错误。它应该保持在/myapps上下文中,而不应该走到外部。404错误仅仅意味着请求的URL没有指向任何有效的资源。如果您密切关注浏览器地址栏中的请求URL,您应该注意到/myapps部分已消失 相应地进行修正: <form id="userForm" a
http://*****:80**/myapps/more/test.html
HTML
您的表单操作URL错误。它应该保持在
/myapps
上下文中,而不应该走到外部。404错误仅仅意味着请求的URL没有指向任何有效的资源。如果您密切关注浏览器地址栏中的请求URL,您应该注意到/myapps
部分已消失
相应地进行修正:
<form id="userForm" action="/myapps/more/loginServlet" method="post">
或者,如果您担心上下文路径的动态性,请按如下方式内联HttpServletRequest#getContextPath()
:
<form id="userForm" action="${pageContext.request.contextPath}/more/loginServlet" method="post">
另一种方法是引入HTML
标记
另见:
与具体问题无关在学习servlet时,您是否绝对肯定自己阅读了正确且最新的教程?您的
web.xml
根声明是一个Servlet2.3版本,已经有十多年的历史了。我们目前已经在使用Servlet3.0。从开始查看一些sane Hello World示例和sane教程的链接。您的表单操作URL错误。它应该保持在/myapps
上下文中,而不应该走到外部。404错误仅仅意味着请求的URL没有指向任何有效的资源。如果您密切关注浏览器地址栏中的请求URL,您应该注意到/myapps
部分已消失
相应地进行修正:
<form id="userForm" action="/myapps/more/loginServlet" method="post">
或者,如果您担心上下文路径的动态性,请按如下方式内联HttpServletRequest#getContextPath()
:
<form id="userForm" action="${pageContext.request.contextPath}/more/loginServlet" method="post">
另一种方法是引入HTML
标记
另见:
与具体问题无关在学习servlet时,您是否绝对肯定自己阅读了正确且最新的教程?您的
web.xml
根声明是一个Servlet2.3版本,已经有十多年的历史了。我们目前已经在使用Servlet3.0。从开始获取一些sane Hello World示例和sane教程的链接。您的应用程序似乎部署在myapps
上下文路径中(HTML页面URL为/myapps/more/test.HTML
)。但是您的表单提交到/more/loginServlet
。它应该提交到/myapp/more/loginServlet
要避免硬编码页面中的上下文路径,请使用JSTL标记:
<form action="<c:url value='/more/loginServlet'/>" ...>
或者明确地在上下文路径前面加上前缀:
<form action="${pageContext.request.contextPath}/more/loginServlet" ...>
您的应用程序似乎部署在
myapps
上下文路径中(HTML页面URL为/myapps/more/test.HTML
)。但是您的表单提交到/more/loginServlet
。它应该提交到/myapp/more/loginServlet
要避免硬编码页面中的上下文路径,请使用JSTL标记:
<form action="<c:url value='/more/loginServlet'/>" ...>
或者明确地在上下文路径前面加上前缀:
<form action="${pageContext.request.contextPath}/more/loginServlet" ...>