【发布时间】:2018-03-28 05:18:42
【问题描述】:
我是 servlet 的新手,所以非常简单的答案将不胜感激。我的问题是我编写了一个从 HTML 表单中提取值的 servlet 代码。但是当我像
这样运行我的 HTML 表单时html 表单看起来没问题。当我输入名字和姓氏,然后按提交按钮时,它没有显示任何输出。我不知道为什么..我在互联网上搜索过,但都是徒劳的。 而且,和我的tomcat有关系吗?
下面是我的文件form.html:
<html>
<body>
<form action="/formServlet" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="button" value="submit">
</form>
</body>
</html>
secTry.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class secTry extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException,ServletException{
String fname = req.getParameter("fname");
String lname = req.getParameter("lname");
PrintWriter out = res.getWriter();
out.println("Hello "+ fname + " " +lname + "...!!!");
}
}
web.xml 文件:
<web-app>
<servlet>
<servlet-name>secTry</servlet-name>
<servlet-class>secTry</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>secTry</servlet-name>
<url-pattern>/formServlet</url-pattern>
</servlet-mapping>
</web-app>
PS:我正在使用
在命令行上编译我的 java 文件javac -cp .;C:/apache-tomcat-8.5.23/lib/servlet-api.jar secTry.java
请帮帮我,告诉我哪里做错了?
【问题讨论】:
-
你的 servlet 容器是什么?
-
我使用的是tomcat 8.5.23
-
1.永远不要在默认包中创建类。 2.
action="/formServlet"应该是action="/theContextPathOfYourApplication/formServlet"3. 尊重 Java 命名约定。 4. 使用 WebServlet 注释而不是 xml:我们已经不是 2005 年了。 -
您的意思是上下文路径,例如“localhost:8084/secondTry/formServlet”
-
如果 /secondTry 是您的上下文路径(即默认情况下您的 war 文件的名称),那么是的。请注意,URL 也区分大小写。
标签: java html xml tomcat servlets