在Intellij中找不到Servlet

立方

我试图将我的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文档指出以下内容:

注释valueurlPattern属性中必须至少声明一个网址格式,但不能两者都声明。

您可以使用以下命令:

@WebServlet("/StudentServlet")

或这个:

@WebServlet(name = "StudentServlet", urlPatterns={"/StudentServlet"})

或这个:

@WebServlet(name = "StudentServlet", value="/StudentServlet")

value属性被建议用于URL模式是唯一的属性被设置,否则urlPattern应使用属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章