如何使用表单操作从JSP页面映射servlet调用?

Str*_*der 1 java jsp servlets

我有一个名为Welcome_2.html的JSP页面 HTML页面目录在它的表单操作中,我调用了一个这样的servlet:

<form action="/servlets/MyFirstServlet" method="post" id="form_id">
Run Code Online (Sandbox Code Playgroud)

servlet"MyFirstServlet"在 servlet目录 WEB-INF类servlet MyFirstServlet

并且jsp位于与WEB-INF处于同一级别的文件夹HTML下

即在练习中我有3个文件夹项目结构 HTML META-INF WEB-INF

在web.xml中我有以下代码段

    <servlet>
    <servlet-name>MyFirstServlet</servlet-name>
    <servlet-class>servlets.MyFirstServlet</servlet-class>
</servlet>  
<servlet-mapping>
    <servlet-name>MyFirstServlet</servlet-name>
    <url-pattern>/servlets/MyFirstServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

为什么不调用servlet?我点击浏览器上的HTML页面并尝试调用servlet ...我只是一个初学者原谅我的智力不佳.

San*_*ish 7

将您的jsp表单更改为

<form action="/servlets/MyFirstServlet" method="post" id="form_id">
Run Code Online (Sandbox Code Playgroud)

匹配url你的模式web.xml

<servlet-mapping>
    <servlet-name>MyFirstServlet</servlet-name>
    <url-pattern>/servlets/MyFirstServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

这一行<url-pattern>/servlets/MyFirstServlet</url-pattern>指的是匹配模式的url会调用MyFirstServlet

在配置元素之前,请阅读Oracle Tutorialweb.xml

希望这可以帮助 !!