나는 첫 번째 서블릿을 j2ee (Tomcat 7.0)와 함께 Eclipse에서 실행하려고하고 있는데, 내가 잘못하고있는 것을 이해할 수 없다. 내 프로젝트 -> Run As-> Run on Server를 마우스 오른쪽 단추로 클릭하면 index.html 파일이 브라우저에 나타나지만 "Continue"를 누르면 다음 메시지가 나에게 표시됩니다.첫 번째 서블릿을 만드는 방법은 무엇입니까?
HTTP 상태 404 -/PDPJ_L5/안녕하세요 - 요청 된 리소스 (/ PDPJ_L5/안녕하세요)는 사용할 수 없습니다 입니다.
문제가 form 태그의 작업 속성 또는 웹 설명자 파일에있는 것으로 의심됩니다. 제가 잘못하고있는 일과 프로젝트를 수리하는 방법을 설명해주십시오. 감사. 여기
내 프로젝트 (PDPJ_L5) 디렉토리 구조는 :PDPJ_L5
- JAX-WS 웹 서비스
- 배포 설명자 : PDPJ_L5
- 자바 자료 : SRC 이는 서블릿을 포함 Hello.java 서블릿과 패키지
- 자바 스크립트 리소스 lib 디렉토리 폴더, 내 index.html을하고 web.xml을
index.html을 내용으로
<!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>Some title</title>
</head>
<body>
<H1 ALIGN="CENTER">Choose your option:</H1>
<form action="http://localhost:8080/PDPJ_L5/hello" method="GET">
<center>
<INPUT TYPE="RADIO" NAME="group" VALUE="one">ONE<BR>
<INPUT TYPE="RADIO" NAME="group" VALUE="two">TWO<BR><BR>
<INPUT TYPE="SUBMIT" VALUE="Continue">
</center>
</form>
</body>
</html>
인 Hello.java 서블릿 :
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Hello
*/
public class Hello extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Hello()
{
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HEAD><TITLE>Success</HEAD><BODY>");
out.println("<h1> It works </h1>");
out.println("</BODY>");
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
그리고 web.xml 파일 :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-application_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>servlets.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
기본 web.xml 이클립스가 Servlet 2.3 * http : //java.sun.com/dtd/web-application_2_3.dtd*를 가리키면 놀랍습니다. 내 웹은 ~ web-app_2_5.xsd * – JoseK
@ Jose : 1998 년 이후 사용되지 않았던 '