form.html<html>
<body>
<form method="GET" action="servlet/ColorServlet">
选择你喜欢的颜色:
<select name="color">
<option value="red">红色</option>
<option value="yellow">黄色</option>
<option value="blue">蓝色</option>
<option value="white">白色</option>
<option value="black">黑色</option>
</select>
<input type="submit" value="提交">
</form>
</body>
</html>ColorServlet.javaimport java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class ColorServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
String color = req.getParameter("color");
String colorName = "";
if (color.equals("red"))
colorName = "红色";
else if (color.equals("yellow"))
colorName = "黄色";
else if (color.equals("blue"))
colorName = "蓝色";
else if (color.equals("white"))
colorName = "白色";
else if (color.equals("black"))
colorName = "黑色";
res.setContentType("text/html; charset=GBK");
PrintWriter pw = res.getWriter();
pw.println("<html><body>");
pw.println("你选择了<b>" + colorName + "</b><br>");
pw.println("</body></html>");
}
}按照书中的方法,下面是文件夹中的内容webapps
--------mystudy
----------------form.html
----------------WEB-INF
------------------------web.xml
------------------------classes
--------------------------------ColorServlet.class然后又修改了tomcat/conf/web.xml中的部分内容如下,只是删除了下面两处的注释而已 <servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- The mapping for the deprecated invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
但是运行不给力啊,当选择红色提交后,提示错误HTTP 400错误的请求,难道书上说的有误,在此请教大家应该如何运行这个Servlet,你们的举手之劳对一个刚刚入门的菜鸟会是无比的重要,谢谢大家了。
<body>
<form method="GET" action="servlet/ColorServlet">
选择你喜欢的颜色:
<select name="color">
<option value="red">红色</option>
<option value="yellow">黄色</option>
<option value="blue">蓝色</option>
<option value="white">白色</option>
<option value="black">黑色</option>
</select>
<input type="submit" value="提交">
</form>
</body>
</html>ColorServlet.javaimport java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class ColorServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
String color = req.getParameter("color");
String colorName = "";
if (color.equals("red"))
colorName = "红色";
else if (color.equals("yellow"))
colorName = "黄色";
else if (color.equals("blue"))
colorName = "蓝色";
else if (color.equals("white"))
colorName = "白色";
else if (color.equals("black"))
colorName = "黑色";
res.setContentType("text/html; charset=GBK");
PrintWriter pw = res.getWriter();
pw.println("<html><body>");
pw.println("你选择了<b>" + colorName + "</b><br>");
pw.println("</body></html>");
}
}按照书中的方法,下面是文件夹中的内容webapps
--------mystudy
----------------form.html
----------------WEB-INF
------------------------web.xml
------------------------classes
--------------------------------ColorServlet.class然后又修改了tomcat/conf/web.xml中的部分内容如下,只是删除了下面两处的注释而已 <servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- The mapping for the deprecated invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
但是运行不给力啊,当选择红色提交后,提示错误HTTP 400错误的请求,难道书上说的有误,在此请教大家应该如何运行这个Servlet,你们的举手之劳对一个刚刚入门的菜鸟会是无比的重要,谢谢大家了。
解决方案 »
- java用poi操作word问题
- Dom解析XML
- 关于创建一个Java 消息服务API的问题
- web东西集成时发生问题,主要是org.springframework.web.context.ContextLoaderListener问题
- 就业前的准备
- PreparedStatement问题
- 使用jstl,把tld文件放到web-inf文件夹下和不放有什么区别,容器会自己从web-inf下所有文件包括jar下寻找,而standard.jar包含了这些tl
- jsp 如何删除在内存中生成的图片?thanks
- 如何在SunOne8.1管理界面上配置Http连接数
- 数据库连接的问题
- struts2实现修改功能遇到的问题
- hibernate 查询结果 修改后 原表插入 如何实现
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
这个地方是你写的那个ColorServlet class.这指哪里去了.
action=“servlet的链接地址”
出现400错误可以很确定的告诉你是无法访问的问题。说明没有服务器上没有你要访问的文件。从客户端请求的话一定要指明是那个服务器
即 action=“/webproject/servlet/任意”
webproject是你的工程名称,任意是因为你配的的是/servlet/*
我就是属于这个特殊的情况dr.com城市热点这个公司确实很恶劣.....
我曾经也被dr.com城市热点害过...
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>servlet</description>
<display-name>servlet</display-name>
<servlet-name>PaymentRequest</servlet-name>
<servlet-class>cn.itc.servlet.ColorServlet</servlet-class>
</servlet>
//这是映射路径。一般的404都出在这个地方
<servlet-mapping>
<servlet-name>PaymentRequest</servlet-name>
<url-pattern>/servlet/colorServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet//这里应该是你的类的路径如:com.ColorServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup> //这里的可选值是0或者1吧 为1时tomcat启动时加载该servlet 否则tomcat在有人第一次请求该servlet的时候才加载
</servlet>
你试试看吧
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern> //这里你也改成/servlet/ColorServlet试试吧
</servlet-mapping>
你下面的 org.apache.catalina.servlets.InvokerServlet 在哪里?你给出的SERVLET是ColorServlet ,而且没有package。 <servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
改为
<servlet-class>
ColorServlet
</servlet-class>
就好了
开始别用这个啊