我试图将我的jsp页面与servlet一起运行。尝试通过url调用Servlet时未找到
http:// localhost:8080 / StudentServlet我收到404错误消息:
“请求的资源不可用”。
我也试图通过一个表格来称呼它。当我单击提交时,它没有被识别出并产生相同的错误。
在此处阅读答案,要求使用Maven或通过web.xml设置映射。据我了解,通过web.xml进行设置是旧方法,而新方法是在我拥有的servlet上设置名称。不确定我在做什么错。
我没有使用和构建工具,只是在本地启动用于运行jsp页面的Tomcat服务器。但是无法识别Servlet。添加了项目结构的屏幕截图,以防万一出现问题。
Servlet
@WebServlet(name = "StudentServlet")
public class StudentServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h3>Student name is:" +
request.getParameter("firstname") +
" " +
request.getParameter("lastname") +
"</h3>");
out.println("</body></html>");
}
}
index.jsp
<form action="StudentServlet" method="get">
First Name: <input type="text" name="firstname"/>
<br/><br/>
Last Name: <input type="text" name="lastname"/>
<br/><br/>
<input type="submit" value="Submit"/>
</form>
项目结构
WebServlet文档指出以下内容:
注释的
value
或urlPattern
属性中必须至少声明一个网址格式,但不能两者都声明。
您可以使用以下命令:
@WebServlet("/StudentServlet")
或这个:
@WebServlet(name = "StudentServlet", urlPatterns={"/StudentServlet"})
或这个:
@WebServlet(name = "StudentServlet", value="/StudentServlet")
该
value
属性被建议用于URL模式是唯一的属性被设置,否则urlPattern
应使用属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句