日期:2014-05-18  浏览次数:20550 次

关于servlet配置的问题。
刚刚写了一个servlet代码如下:
Java code

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.*;
import javax.servlet.http.*;

public class ColorServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = -1545036959630097445L;

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String color=req.getParameter("color");
        String colorName="";
        if("red".equals(color)){
            colorName="红色";
        }else if("yellow".equals(color)){
            colorName="黄色";
        }else if("blue".equals(color)){
            colorName="蓝色";
        }else if("white".equals(color)){
            colorName="白色";
        }else if("black".equals(color)){
            colorName="黑色";
        }
        resp.setContentType("test/html/;charset=GBK");
        PrintWriter pw=resp.getWriter();
        pw.print("<html><body>");
        pw.print("你选择了<b>"+colorName+"</b><br>");
        pw.print("</body></html>");
        //pw.close();
    }

}



同时web.xml的文件配置如下
XML code

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 


    <servlet>
        <servlet-name>name</servlet-name>
        <servlet-class>ColorServlet</servlet-class>
    </servlet>


    <servlet-mapping>
        <servlet-name>name</servlet-name>
        <url-pattern>/ColorServlet/*</url-pattern>
    </servlet-mapping>

   
</web-app>



当我在浏览器中输入http://127.0.0.1/myapp/ColorServlet?color=red想测试这个servlet时,却总是有下载的提示,下载的文件是一个纯文本的文件,内容是“<html><body>你选择了<b>红色</b><br></body></html>”,正是我需要在浏览器中显示的内容。
这究竟是什么原因啊?望哪位高手解答,在此谢过......

------解决方案--------------------
http://127.0.0.1/myapp/index.jsp

然后在index.jsp里:
<a href="ColorServlet?color=red">显示</a>


你试试
------解决方案--------------------
resp.setContentType("test/html/;charset=GBK");
这个写错了text/html