자바 서블릿으로 간단한 프로그램을 시도하고 있으며 텍스트 상자와 제출 버튼이있는 HTML 페이지가 표시됩니다. 사용자가 데이터를 입력하고 제출하면 다음 페이지에 Hello가 표시됩니다. GET 매개 변수를 사용하여 Servlet URL을 호출하면 올바르게 작동 함을 알 수 있습니다. 그러나 HTML 파일을 열고 거기에서 데이터를 제출하면 GET 요청이 제대로 구성되지 않습니다. 즉 매개 변수가 '액션'URL의 주소로 전달되지 않습니다.HTML 파일이 GET 요청에 GET 매개 변수를 게시하지 않습니다.
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>
<form action="/TestServlt/TestClass" name="myform" method="get">
Enter your name: <input type="text name="username">
<br />
<input type="submit" value="Go">
</form>
</body>
</html>
서블릿 코드 : 서블릿 제출 /TestServlt/TestClass
URL 및 형태에 매핑되는
package in.lguruprasad;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestClass extends HttpServlet implements Servlet {
static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter output = response.getWriter();
response.setContentType("text/html");
String name = request.getParameter("username");
output.println("Hello "+name+"!");
output.flush();
output.close();
}
}
잘 작동 할 http://localhost:8080/TestServlt/TestClass
대신 http://localhost:8080/TestServlt/TestClass?username=<user input>
리디렉션 여기
모든 브라우저에서 양식은 get 매개 변수없이 제출합니다. 나는 비슷한 doPost 메소드를 작성하려고 시도했지만 그 방법도 잘 작동하지 않았다.
여기의 문제 및 해결 방법은 무엇인가요?
도움이된다면 Eclipse 3.1.2, Apache Tomcat 5.5, JDK 1.6.25를 사용하고 있습니다.
아, 내 나쁜해야합니다! :-( – Guruprasad