我看到了一個簡單的servlet鏈例如一個奇怪的問題,我想:Servlet的鏈接 - 簡單的例子
Servlet的1:
public class gatewayservlet extends HttpServlet {
public void doPost(HttpServletRequest request ,
HttpServletResponse response)
throws ServletException , IOException {
doGet(request,response);
}
public void doGet(HttpServletRequest request ,
HttpServletResponse response)
throws ServletException , IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
name = request.getParameter("name");
RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher("/justServlets/secondservlet");
if(name!=null) {
request.setAttribute("UserName",name);
rd.forward(request , response);
// Forward the value to another Secondservlet
} else {
response.sendError(response.SC_BAD_REQUEST,
"UserName Required");
}
}
}
的Servlet 2:
public class secondservlet extends HttpServlet {
public void doGet(HttpServletRequest request ,
HttpServletResponse response)
throws ServletException , IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
String UserName = (String)request.getAttribute("UserName");
out.println("The UserName is "+ UserName);
}
public void doPost(HttpServletRequest request ,
HttpServletResponse response)
throws ServletException , IOException {
doGet(request,response);
}
}
而調用表格:
<html>
<body>
<FORM ACTION="/justServlets/gateway" METHOD=POST>
<P>Please Fill the Registration Form</p><br>
Enter Your Name<input type="text" name="name"><br>
<input type="submit" value="send">
</FORM>
</body>
</html>
'POST'給出405(方法不允許)錯誤。 但是,調用第一個servlet作爲..../justServlets/gateway?name = Socrates工作。 最新情況?
它確實 - 它是一個簡單的重定向到GET.And它被轉發到正確的servlet - 並且GET確實爲第二個servlet提供了相同代碼的響應。 – IUnknown
它似乎是某種程序服務器緩存問題。 重新啓動服務器和應用程序工作得很好。 – IUnknown