2012-09-12 4 views
0

데모 서블릿 파일을 테스트하고있었습니다. 그러나 서블릿이 응답하지 않는 것 같습니다. 나는 그 문제를 이해할 수 없다.서블릿 파일을 컴파일 할 수 없습니다.

나는 HTML에 제출 클릭 URL이 입니다 형성 로컬 호스트 : 8080/맥주-V1/SelectBeer.do

, 그것은/BeerSelect 안? @WebServlet ("/ BeerSelect") 때문에 ???

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" 
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_3_0.xsd" metadata-complete="false" 
version="3.0"> 

<servlet> 
<servlet-name>CH3 Beer</servlet-name> 
<servlet-class>com.example.web.BeerSelect</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>CH3 Beer</servlet-name> 
<url-pattern>/SelectBeer.do</url-pattern> 
</servlet-mapping> 
</web-app> 

BeerSelect.java

package com.example.web; 

import java.io.IOException; 
import java.io.PrintWriter; 

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

@WebServlet("/BeerSelect") 
public class BeerSelect extends HttpServlet { 
private static final long serialVersionUID = 1L; 

public BeerSelect() { 
    super(); 
} 

@Override 
protected void doPost(HttpServletRequest request, 
     HttpServletResponse response) throws ServletException, IOException { 

    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    out.println("Beer Selection Advice<br>"); 

    String c = request.getParameter("color"); 
    out.println("<br> Got Beer Color " + c); 

} 

}

답변

1

나는 URL을 구성하는 HTML에 제출 클릭 로컬 호스트 인 경우 : 8080/Beer-V1/SelectBeer.do

하지만/BeerSelect가 아니어야합니까? @WebServlet ("/ BeerSelect") 때문에 ???

  1. 웹 컨테이너 동료 배포 된 웹 응용 프로그램 각각에 대한 귀하의 경우에는 "컨텍스트 경로는"나는 "맥주-V1"믿습니다.

  2. 당신은 다음과 같이 web.xml에 매핑을 무시하고 따라서 당신이 *보고있는 수도 있었죠

DD는 주석을 무시하여 XML

<servlet-mapping> 
    <servlet-name>CH3 Beer</servlet-name> 
    <url-pattern>/SelectBeer.do</url-pattern> 
</servlet-mapping> 
.

+0

그래서 /SelectBeer.do를 BeerSelect로 변경합니까? 또한 @WebServlet ("/ BeerSelect")을 유지 하시겠습니까? – AppSensei

+2

@RonyJohn web.xml을 제거하고 주석 또는 그 반대편을 사용하십시오 –

+0

여기에 어떤 변경 사항이 있습니까?

. 나는 web.xml을 삭제하고 주석을 유지했다. – AppSensei

관련 문제