我是JavaEE的初学者,我使用intellij idea作为IDE,我已经将表格变成了这样的html:
这是我的Hello.html
:
<!DOCTYPE html>
<html>
<body>
<form action="HelloWorld" method="POST">
First name: <input type="text" name="first_name">
last name: <input type="text" name="last_name">
<input type="submit" value="Submit">
</form>
</body>
</html>
现在,我已经制作了一个servlet文件HelloWorld.java
:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String docType="<!DOCTYPE html>";
out.println(docType+
"<html>" +
"<head><title>This is just a title man.. ;)</title></head>" +
"<body>" +
"<h1>My name is Rajendra Arora</h1>" +
"<ul>" +
"<li><b>First name: </b></li>" +
request.getParameter("first_name")+"<br>"+
"<li><b>Last name: </b></li>" +
request.getParameter("last_name")+
"</ul>" +
"</body>" +
"</html>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
doGet(request, response);
}
}
这是我的web.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
现在,当我运行我的HelloWorld.java
时,它运行成功但是当它与表单一起运行时它不会运行,我的意思是当我运行Hello.html
时它以正确的方式显示表单但是当我单击提交后填写名称,显示该错误消息,请参阅我的pic。
并且我以正确的方式启动了我的工作,并且在我使用HelloWorld.java
进入网址时仅运行http://localhost:8888/HelloWorld?first_name=Raj&last_name=Arora
后,它显示了名称,但默认情况下请Hello.html
它&# 39; s显示错误消息...请帮助
请帮助!!
答案 0 :(得分:0)
您尚未指定helloworld文件的扩展名。它应该是helloworld.java。同时删除分号&#34;;&#34;来自标题标签。你收到了错误,&#34; filenotfound&#34;只因为你没有给helloworld扩展