2014-07-09 4 views
1

양식을 사용하여 HttpServletRequest 객체에서 매개 변수를 가져올 수 없습니다.HttpServletRequest에 매개 변수가 없습니다?

내 프로젝트는 Java6을 사용하도록 설정되었으며 동적 웹 프로젝트 2.5입니다.

HTML 페이지의 COD :

<%@ page pageEncoding="UTF-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
<!DOCTYPE html"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Thesaurus Builder</title> 
    <link type="text/css" rel="stylesheet" href="<c:url value="/form.css"/>" /> 
</head> 
<body> 
    <form action="<c:url value='/' />" method="post" accept-charset="UTF-8"> <!-- accept-charset="UTF-8" --> 
     <fieldset> 
      <legend>Analyse de texte</legend> 

      <label for="file">Fichier à analyser</label> 
      <textarea rows="7" cols="100" name="file" id="file" ></textarea> 
      <br /> 
      <br /> 

      <label for="encoding">Encodage</label> 
      <input type="text" id="encoding" name="encoding" value="UTF-8" /> 
      <br /> 
      <br /> 


      <br /> 
      <label for="debug">Mode Debug</label> 
      <input type="checkbox" id="debug" name="debug"/> 
      <br /> 
      <br /> 

      <input type="submit" value="Envoyer" class="sansLabel" /> 
      <br />     
     </fieldset> 
    </form> 



</body> 
</html> 

서블릿 :

package test2; 

    import java.io.IOException; 
    import java.util.Map; 
    import java.util.Map.Entry; 

    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 

    public class Tester extends HttpServlet{ 

     /** 
     * 
     */ 
     private static final long serialVersionUID = 1L; 

     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ 

      this.getServletContext().getRequestDispatcher("/WEB-INF/input.jsp").forward(request, response); 



    } 

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ 

     Map<String,String> map = request.getParameterMap(); 
     for(Entry<String, String> s : map.entrySet()){ 
      System.out.println(s.getKey() + " - "+ s.getValue()); 
     } 
     this.getServletContext().getRequestDispatcher("/WEB-INF/input.jsp").forward(request, response); 

    } 
    } 

과의 web.xml은 :

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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"> 
    <display-name>test2</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 


    <servlet> 
     <servlet-name>Tester</servlet-name> 
     <servlet-class>test2.Tester</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Tester</servlet-name> 
     <url-pattern>/test</url-pattern> 
     <url-pattern>/default.html</url-pattern> 
     <url-pattern>/default.htm</url-pattern> 
     <url-pattern>/index.html</url-pattern> 
    </servlet-mapping> 

</web-app> 

서블릿의 기능은 인쇄 does'nt 아무것도. 나는 여기에서 완전하게 붙어있다. 누가 뭘해야하는지 알지?

답변

1

서블릿이 url /에 매핑되지 않았습니다. 서블릿 코드가 호출되지 않습니다. web.xml에 <url-pattern>/</url-pattern>이 있거나 JSP에 "<c:url value='/test' />"이 있어야합니다.

+0

Weeeell, 서블릿은 URL "/index.html"에 매핑되며 URL "/"을 호출 할 때 호출되어야합니다. 그것은 GET과 Java 7의 POST를 통해 작동하지만 문제가있는 것으로 보입니다. 이상한. 그러나 어쨌든 당신을 감사하십시오. – Laetan

관련 문제