我是Servlet功能的新手。我正在尝试在JSP Form中获取一些数据并尝试使用Servlet在控制台中打印它。但我无法做到这一点。
的web.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>controlServlet</servlet-name>
<servlet-class>com.selenium8x8.servlet.ControlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controlServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Startup.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="Startup" method="post">
<input type="text" name="name"/><br>
<input type="text" name="group"/>
<input type="text" name="pass"/>
<input type="submit" value="submit">
</form>
</body>
</html>
ControlServlet.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ControlServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String group = request.getParameter("group");
String pass = request.getParameter("pass");
System.out.println("Name :"+ name);
System.out.println("group :"+ group);
System.out.println("pass :"+ pass);
}
}
执行后,它会抛出以下错误,
HTTP Status 405 - HTTP method GET is not supported by this URL
type Status report
message HTTP method GET is not supported by this URL
description The specified HTTP method is not allowed for the requested resource.
答案 0 :(得分:2)
@Prassana:请修改你的web.xml,如下所示,它应该有效。我测试了你的代码并为我工作。这适用于GET和POST。
<servlet>
<servlet-name>ControlServlet</servlet-name>
<servlet-class>com.selenium8x8.servlet.ControlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ControlServlet</servlet-name>
<url-pattern>/Startup</url-pattern>
</servlet-mapping>
</web-app>
答案 1 :(得分:1)
更改映射
<form action="/Startup" method="post">
第2步:添加ovveride
注释
@Override
public void doPost(HttpServletReques...
我无法检测到您的帖子方法并尝试按get
方法。
并尝试使用get方法检查一次,
@Override
public void doGet(HttpServletReques...
答案 2 :(得分:0)
需要使用以下
更改表单标记中的操作 <form action="/Startup" method="post">
答案 3 :(得分:0)
替换
这个:<form action="Startup"
由此:<form action="/Startup"