JAVASE 发表于 2008-4-21 21:31

最简单的servlet程序,为什么总报错?

public void printContent(HttpServletRequest request,PrintWriter out) {
               
                Enumeration e = request.getHeaderNames();
                String str = "";
                out.println("<table border='1'>");
                while(e.hasMoreElements()) {
                str = (String)e.nextElement();
               
                [color=Red]out.println("<tr><td>"-str-"</td>");
                out.println("<td>"+request.getHeader(str)-"</td>");[/color]
                out.println("</tr>");
                }
                out.println("</table><br>");
        }
代码如上,为什么红色部分总是报错,方法是自己定义的。高手指教一下。

Ethip 发表于 2008-4-22 09:00

回复 1# 的帖子

还需要HttpServletResponse作参数,才能在浏览器中显示信息...

[[it] 本帖最后由 Ethip 于 2008-4-22 09:01 编辑 [/it]]

JAVASE 发表于 2008-4-22 09:11

HttpServletResponse参数已经放在doGet方法中了,在doGet方法中调用了printContent方法。

JAVASE 发表于 2008-4-22 09:44

报的错误是:The operator - is undefined for the argument type(s) java.lang.String,
java.lang.String
高手指点一下

Ethip 发表于 2008-4-22 10:22

回复 4# 的帖子

"+request.getHeader(str)-",末尾是减号?

JAVASE 发表于 2008-4-22 10:56

恩,上面的str两边也是减号,就算把加号和减号都去掉还是会出现这个问题

JAVASE 发表于 2008-4-22 11:20

问题已经解决
把格式改成
public void printContent(HttpServletRequest request,PrintWriter out) {
        
        Enumeration e = request.getHeaderNames();
        String str = "";
        out.println("<table border='1'>");
        while(e.hasMoreElements()) {
        str = (String)e.nextElement();
        
        out.println("<tr><td>");
        out.println(str);
        out.println("</td>");
        out.println("<td>");
        out.println(request.getHeader(str));
        out.println("</td></tr>");
        }
        out.println("</table><br>");
    }
就可以了,不知道是不是因为版本的原因。我用的是集成的MyEclipse5.5GA+Tomcat5.5

页: [1]

编程论坛