我是java中的Web开发新手,刚开始使用带有项目“Welcome Servlet”的servlet。它有3个文件,1。默认包中的ColServlet.java。 2. WebContent文件夹中的index.html。 3. WEB-INF文件夹中的web.xml。 ColServlet.java是:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ColServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
String colname = request.getParameter("col");
response.setContentType("text/html");
PrintWriter info = response.getWriter();
info.println("The color is: ");
info.println(" <HTML>\n" +
"<HEAD><TITLE>Hello WWW</TITLE></HEAD>\n" +
"<BODY>\n" +
"<H1>Hello WWW</H1>\n" +
"<h1>"+colname+"</h1>"+
"</BODY></HTML>");
info.close();
}
}
index.html文件是:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Select Color</title>
</head>
<body>
<form method="GET" action="/ColServlet">
Select the color:
<select name="col" size="3">
<option value="blue">Blue</option>
<option value="orange">Orange</option>
</select>
<input type="submit" value="Submit">
</form>
</body>
</html>
web.xml文件是:
<web-app>
<servlet>
<servlet-name>Servlet1</servlet-name>
<servlet-class>ColServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet1</servlet-name>
<url-pattern>/ColServlet</url-pattern>
</servlet-mapping>
</web-app>
现在:问题是每当我选择任何颜色时,下一页都不显示所选颜色。
答案 0 :(得分:0)
从@SotiriosDelimanolis' comment开始,您应该更改<form>
中的操作路径,以使用应用程序的上下文路径。您应该在index.html文件中更新此行:
<form method="GET" action="<applicationName>/ColServlet">
其中<applicationName>
是您的网络应用程序的名称,通常是您的网络项目的名称,例如“WelcomeServet”(没有引号)。
如果您碰巧使用JSP文件(可以像将index.html重命名为index.jsp一样简单),那么请将此行更新为:
<form method="GET" action="${pageContext.request.contextPath}/ColServlet">