注册 登录
编程论坛 J2EE论坛

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

JAVASE 发布于 2008-04-21 21:31, 1294 次点击
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>"-str-"</td>");
        out.println("<td>"+request.getHeader(str)-"</td>");

        out.println("</tr>");
        }
        out.println("</table><br>");
    }
代码如上,为什么红色部分总是报错,方法是自己定义的。高手指教一下。
6 回复
#2
Ethip2008-04-22 09:00
回复 1# 的帖子
还需要HttpServletResponse作参数,才能在浏览器中显示信息...

[[it] 本帖最后由 Ethip 于 2008-4-22 09:01 编辑 [/it]]
#3
JAVASE2008-04-22 09:11
HttpServletResponse参数已经放在doGet方法中了,在doGet方法中调用了printContent方法。
#4
JAVASE2008-04-22 09:44
报的错误是:The operator - is undefined for the argument type(s) java.lang.String,
 java.lang.String
高手指点一下
#5
Ethip2008-04-22 10:22
回复 4# 的帖子
"+request.getHeader(str)-",末尾是减号?
#6
JAVASE2008-04-22 10:56
恩,上面的str两边也是减号,就算把加号和减号都去掉还是会出现这个问题
#7
JAVASE2008-04-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