2013-10-16 50 views
3

我是Servlet功能的新手。我试图在JSP窗体中获取一些数据,并试图使用Servlet将其打印在控制台中。但我无法做到这一点。如何从JSP页面获取数据到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); 
    } 

} 

EXECUT后离子,它抛出我下面的错误,

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

检查您的URL。请求发送到什么地址? –

+0

'

+0

什么问题passig数据从JSP到Servlet或页面不显示? –

回答

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> 
+0

但我得到HTTP状态404 -/Testing_automation/ 类型状态报告 消息/ Testing_automation/ description请求的资源不可用。 – Prasanna

+0

@Prasanna:你可以给你正在尝试的完整url吗? – user2821894

+0

哪一个..?我不能得到你 – Prasanna

0

需要具有以下

<form action="/Startup" method="post"> 
+0

我现在得到这个错误,HTTP方法GET不支持这个URL – Prasanna

+0

更改方法doGet(...)与doPost(...)它应该工作 –

0

更换 这个改变表单标签的行动:通过本<form action="Startup"

<form action="/Startup"

1

变化映射

<form action="/Startup" method="post"> 

第二步:添加注释ovveride

@Override 
    public void doPost(HttpServletReques... 

它是无法检测到您的文章的方法和试图击中get方法我猜。

,并尝试与get方法检查也一度,

@Override 
    public void doGet(HttpServletReques... 
+0

但我仍然得到错误先生。我已更新问题 – Prasanna

+0

@Prasanna这不应该发生。你可以像'method =“GET”'一样尝试并在doGet方法中粘贴相同的代码并检查? –

+0

同样的事情发生.. – Prasanna

相关问题