如何从JSP页面获取数据到servlet

时间:2013-10-16 14:11:13

标签: java jsp servlets post servlet-listeners

我是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.

4 个答案:

答案 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"