你的代码真的很乱, ShowContent到底是servlet还是javabean?

解决方案 »

  1.   

    控制台没有错误信息
    肯定就是<jsp:include page="/mybbsproject/content"> 
    这个指令引入的那个页面的问题.
      

  2.   

    代码其实不乱的,我只是把部分代码贴出来,感觉是很乱,ShowContent.java是JavaBean
      

  3.   

    我还是把代码贴出来给各位看看吧!!
    disbbs.jsp:
    <%@ page language="java" pageEncoding="utf-8"%>
    <%@ page contentType="text/html; charset=gbk"%>
    <HTML>
    <jsp:include page="include/head.txt" />
    <BODY vLink=#333333 link=#333333> <TABLE cellSpacing=0 cellPadding=8 width="98%" align=center
    bgColor=#dbeffb border=0>
    <TBODY>
    <TR>
    <TD>
    <jsp:include page="/include/toplogo.jsp" /> <BR>
    <!--**************************************************************************************-->
    <%
                     String forumid=request.getParameter("forumsid");
                     String topicid=request.getParameter("topicid"); 
                     out.print(forumid);
                     out.print(topicid);  
                   %>
    <jsp:include page="/mybbsproject/content">
    <jsp:param name="forumsid" value="<%=forumid%>" />
    <jsp:param name="topicid" value="<%=topicid%>" />
    </jsp:include> <!--**************************************************************************************-->
    <BR>
    <CENTER></CENTER>
    <BR>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
    <jsp:include page="include/buttom.jsp" />
    </BODY>
    </HTML>
    其中的forumsid和topicid是从前一页面传来的变量.content.java是个servlet,代码如下:
    package mybbs;
    import java.io.*;
    import java.util.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    @SuppressWarnings("serial")
    public class content extends HttpServlet {
    PrintWriter out;
    String forumid, topic_id,page;
    public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException{
    response.setContentType("text/html;charset=gbk");
    out = response.getWriter();
    HttpSession session = request.getSession();
    int power = 0;
    String forum = "";
    if (session.getAttribute("userpower")!= null) {
    power = Integer.parseInt((String) session.getAttribute("userpower"));
    }
    if (session.getAttribute("forum")!= null) {
    forum = (String) session.getAttribute("forum");
    }
    forumid = request.getParameter("forumsid");
    topic_id = request.getParameter("topicid");
    page=request.getParameter("page");
    try {
    /*-------------------------------------------------------------------*/
    ShowContent SC=new ShowContent();
    Vector VC=SC.ListContent(forumid,topic_id,session);
    out.print(VC);
    /*-------------------------------------------------------------------*/ //将该贴子的点击次数加1
    Operate OP=new Operate();
    OP.UpdateClick_time(forumid,topic_id); int fid=Integer.parseInt(forumid);
    ForumInfo fi=new ForumInfo();
    fi.setForumid(fid);
    String forumname = fi.getForumname();
               /*-------------------------------------------------------------*/
    out.print("<TABLE width='98%' align=center cellPadding=1 cellSpacing=0 background='images/head.gif'");
    out.print("style=BORDER-RIGHT: #5aa8da 1px solid; BORDER-TOP: #5aa8da 1px solid; BORDER-LEFT: #5aa8da 1px solid>");
    out.print(" <TBODY> <TR><TD width='69%' align=left background='images/8.gif' class=head>");
    out.print("<B><A href='default.jsp'>本站论坛</A><FONT color=red>≡></FONT><A href='list-topic.do?forumsid=" +
                        forumid + "'>" + forumname + "");
    out.print("</A><FONT color=red>≡></FONT>" +SC.getTitle() +"</B></TD>");
    out.print( "<TD width='31%' align=right background='images/header-01.jpg' class=head>");
    out.print(" </TD></TR>");
             /*-----------------------------------------------------------------------*/
    out.print("<TR><TD align=left class=cbg><FONT color=red>");
    AdminItem AI=new AdminItem();
    StringBuffer buffer= AI.ShowAdminItem(session,SC.getPostid(),forumid,SC.getGroupid(),SC.getIslock());
    out.print(buffer); out.print("</TD></FONT>");
              /*----------------------------------------------------------------------*/
              //发贴链接
    out.print("<TD height=23 colSpan=2 align=right class=cbg>");
    out.print("<A href='post.do?action=1&forumsid=" + forumid + "'><IMG src='images/post.gif'></A>");
    out.print("&nbsp;<A href='post.do?action=3&forumsid=" + forumid + "'><IMG src='images/votting.gif'></A> ");
    if (SC.getIslock()== 0) {
    out.print("&nbsp;<A href='post.do?action=2&forumsid=" + forumid + "&topicid=" + topic_id +
                          "'><IMG src='images/reply.gif'></A>");
    }
    out.print("</TD></TR></TBODY></TABLE>");
    out.print("<TABLE width='99%' align=center><TBODY>");
    out.print("<TR><TD height=1></TD></TR></TBODY></TABLE>");
              /*-------------------------------------------------------------*/           if(SC.getIstopic()==2){
                out.print("<TABLE width='98%' align=center><TBODY>");
                out.print("<FORM action='vote' method='post'>");
                DisVote disv=new DisVote();
                out.print(disv.ShowVote(String.valueOf(SC.getPostid())));
                VoteAct vott=new VoteAct();
                out.print("<TR><TD><INPUT type='submit' value='投票' name='submit'></TD><TR>");
                out.print("<INPUT TYPE=hidden name=postid value='"+SC.getPostid()+"'>");
                out.print("<INPUT TYPE=hidden name=forumsid value='"+forumid+"'>");
                out.print("<INPUT TYPE=hidden name=topicid value='"+topic_id+"'>");
                out.print("</FORM>");
                out.print("</TBODY></TABLE>");
               }
        /*-------------------------------------------------------------*/
               int pages=0;
               if(page==null){
                pages=1;
               }
               else{
                pages=Integer.parseInt(page);
               }
               int lastrow=VC.size();
               int pagesize=params.Post_Page_Size;
               int pagecount=(lastrow%pagesize==0)?(lastrow/pagesize):(lastrow/pagesize+1);
         //当前的社始页数
               if (pages>=pagecount){
                pages=pagecount;
               }
               int position=(pages-1)*pagesize;
               int end=position+pagesize;
               if(end>lastrow)
                end=lastrow;    /*-------------------------------------------------------------*/
               for(int i=position;i<end;i++)
               {
                StringBuffer messages=(StringBuffer)VC.elementAt(i);
                out.print(messages);
               }
          /*--------------------------- ---------------*/
               out.print("&nbsp;&nbsp;&nbsp;&nbsp;[共"+pagecount+"页]>>>");
               for(int j=1;j<=pagecount;j++)
               {
                if(j==pages){
                out.print("[");}
                out.print("<A href='disbbs.do?forumsid="+forumid+"&topicid="+topic_id+"&page="+j+"'>");
                out.print(""+j);
                out.print("</A>");
                if(j==pages){
                out.print("]");
                }
                out.print("&nbsp;");
               }
          /*-----------------------------------------------*/    }
        catch (Exception e)
        {
          session.setAttribute("throw", e.toString());
          response.sendRedirect("global.do");
        }
      }
      public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException
      {
        doPost(request, response);
      }
    }
      

  4.   

    这是ShowContent.java中的代码:
    package mybbs;
    import java.util.*;
    import java.sql.*;
    import javax.servlet.http.HttpSession;public class ShowContent {
    public ShowContent(){}
    HttpSession session=null;
    private int postid=0;
    private int j=0;
    private int istopic=1;
    private int groupid=0;
    private String title;
    public Vector ListContent(String forumid,String topicid,HttpSession session) throws Exception{
    this.session=session; Vector VCon=new Vector();
    DBConn conn=new DBConn();
    ResultSet rs=null;
    int power=0;
    String forum="";
    String userid="";
    if(session.getAttribute("userpower")!=null){
    power=Integer.parseInt((String)session.getAttribute("userpower"));
    }
    if(session.getAttribute("forum")!=null){
    forum=(String)session.getAttribute("forum");
    }
    if(session.getAttribute("userid")!=null){
    userid=(String)session.getAttribute("userid");
    }
    String sql="SELECT posts.*,bbsuser.* FROM posts,bbsuser WHERE posts.isdel=0 AND posts.forumid="
                      +forumid+" AND posts.topic_id="+topicid+" AND posts.author_id=bbsuser.id ORDER BY posts.id ASC";
    rs=conn.query(sql);

    int i=1;
    while(rs.next())
    {
    StringBuffer buffer=new StringBuffer();
    if (rs.getInt("istopic") > 0){
    j = rs.getInt("posts.islock");
    title=rs.getString("title");
    postid = rs.getInt("posts.id");
    groupid = rs.getInt("posts.groupid");
    istopic=rs.getInt("istopic");
    }

    /*-------------------------------------------------------------------*/
    buffer.append("<TABLE align=center cellSpacing=0 cellPadding=1 width=\"98%\" border=0>");
    buffer.append("<TBODY><TR>");

    if(i==1)
    buffer.append("<TD width=\"18%\" background=images/part1_38.gif height=28>");
    else
    buffer.append("<TD width=\"18%\" bgcolor=\"#f4f8e0\" height=28>");
    //改一下颜色

    if(rs.getInt("online")==1)
    buffer.append("&nbsp;&nbsp;<FONT color=red>作 者:"+rs.getString("bbsuser.nickname")+"</FONT>");
    else
    buffer.append("&nbsp;&nbsp;作 者:"+rs.getString("bbsuser.nickname"));
    buffer.append("</TD>");

    if(i==1)
    buffer.append("<TD width=\"58%\" background=images/part1_38.gif>");
    else
    buffer.append("<TD width=\"58%\" bgcolor=\"#f4f8e0\">");

    if(i==1){
    buffer.append("<FONT color=red>[楼主]</FONT>");
    }
    else{
    buffer.append("<FONT color=red>["+i+"楼]</FONT>");
    }

    buffer.append("&nbsp;&nbsp;主题:"+rs.getString("title")+"</TD>");
    if(i==1)
    buffer.append("<TD width=\"20%\" background=images/part1_38.gif>");
    else
    buffer.append("<TD width=\"20%\" bgcolor=\"#f4f8e0\">");
    buffer.append("<B>Posted:</B>"+rs.getString("post_time").substring(0,16));
    buffer.append("</TD></TR></TBODY></TABLE>");


    //显示作者信息.
    buffer.append("<TABLE align=center cellSpacing=0 cellPadding=1 width=\"98%\" border=0>");
    buffer.append("<TBODY><TR>");

    buffer.append("<TD vAlign=top width=\"18%\" bgColor=#f4d8f2 rowSpan=2>");
    buffer.append("&nbsp;&nbsp;<IMG width=130 height=130 src=\""+rs.getString("face")+"\" />");

    buffer.append("<BR>&nbsp;&nbsp;等级:"+rs.getString("usergrade"));

    buffer.append("<BR>&nbsp;&nbsp;文章:"+rs.getString("totalpost")); System.out.println(buffer);         buffer.append("<BR>&nbsp;&nbsp;积分:"+rs.getString("userscore"));
    buffer.append("<BR>&nbsp;&nbsp;加入时间:"+rs.getString("reg_time").substring(0,10));
    buffer.append("<BR>&nbsp;&nbsp;最后登陆:"+rs.getString("bbsuser.last_time").substring(0,10));
    buffer.append("<BR></TD>");
    buffer.append("<TD width=\"77%\" vAlign=center align=center bgColor=#f4f8fb >");
    //buffer.append("&nbsp;&nbsp;&nbsp;&nbsp;"); buffer.append("<TABLE width=90% cellSpacing=0 cellPadding=0 border=0>");
    buffer.append("<TBODY> <TR><TD width=14><IMG height=8 src='images/top_l.gif' width=14></TD>");
    buffer.append("<TD background='images/top_c.gif'></TD>");
    buffer.append("<TD width=16><IMG height=8 src='images/top_r.gif' width=16></TD>");
    buffer.append("</TR>");
    buffer.append("<TR><TD vAlign=top width=14 background='images/center_l.gif'></TD>");
    buffer.append("<TD style='LINE-HEIGHT: 14pt' bgColor=#fffff1>");
    buffer.append(rs.getString("content")+"</TD>");
    buffer.append("<TD vAlign=top width=16 background='images/center_r.gif'>");
    buffer.append("<IMG height=8 src='' width=16></TD></TR>");
    buffer.append("<TR><TD vAlign=top width=14><IMG height=42 src='images/foot_l1.gif' width=14></TD>");
    buffer.append("<TD background='images/foot_c.gif'><IMG height=42 src='images/foot_l3.gif' width=36></TD>");
    buffer.append("<TD align=right width=16><IMG height=42 src='images/foot_r.gif' width=16></TD>");
    buffer.append("</TR></TBODY></TABLE><BR>"); buffer.append("</TD></TR>");
    buffer.append("<TR><TD width=\"77%\" vAlign=bottom bgColor=#f4f8fb > ");
    buffer.append("<IMG src='images/sigline.gif' align=absBottom><BR>");
    buffer.append("&nbsp;&nbsp;&nbsp;"+rs.getString("signature")+"<BR>"); buffer.append("</TD></TR></TBODY></TABLE>"); buffer.append("<TABLE align=center cellSpacing=0 cellPadding=1 width=\"98%\" border=0>");
    buffer.append("<TBODY><TR>");
    buffer.append("<TD width=\"18%\" height=25 bgcolor=\"#6699FF\" >");
    buffer.append("&nbsp;&nbsp;<IMG src='images/pc.gif'>");
    if(power>10||forum.equals(forumid)){
    buffer.append(rs.getString("post_ip"));
    }
    buffer.append("</TD>");
    buffer.append("<TD width=\"58%\" bgcolor=\"#8BB7F1\" >");
    buffer.append("<A href='user_info.do?userid="+rs.getString("bbsuser.id")+"'>");
    buffer.append("<IMG alt=查看作者资料 src='images/profile.gif' ></A>&nbsp;");
    buffer.append("<A href='"+rs.getString("weblog")+"'>");
    buffer.append("<IMG alt=博客 src='images/weblog.gif' ></A>&nbsp;");
    buffer.append("<A href='search.do?nickname="+rs.getString("nickname")+"'>");
    buffer.append("<IMG alt=搜索与之相关贴子 src='images/search.gif' ></A>&nbsp;");
    buffer.append("<A href='mailto:"+rs.getString("email")+"'>");
    buffer.append("<IMG alt=发电子邮件 src=\"images/emailto.gif\" ></A>&nbsp;");
    buffer.append("<IMG alt="+rs.getString("skype")+" src=\"images/skype.gif\" >&nbsp;");
    buffer.append(" </TD>");
    buffer.append("<TD align=right width=\"20%\" bgcolor=\"#8BB7F1\">");
    if(power>10||forum.equals(forumid))
    {
    buffer.append("<A href='adminAction.do?motion=2&postid="+rs.getString("posts.id")+"&forumsid="+forumid+"'>");
    buffer.append("<IMG alt=删除这个帖子 src='images/quote.gif' align=absMiddle></A>");
    }
    if(power>10||userid.equals(rs.getString("bbsuser.id")))
    {
    buffer.append("<A href='post.do?postid=" + rs.getString("posts.id") + "&action=4'>");
    buffer.append("<IMG alt=编辑这个帖子 src='images/edit.gif' ></A>&nbsp;&nbsp;");
    }
    buffer.append("&nbsp;&nbsp;<A  href='javascript:scroll(0,0)'><IMG alt=顶端 src='images/top.gif'></A>");
    buffer.append("</TD></TR></TBODY></TABLE>"); VCon.add(buffer);
    System.out.println(buffer);
    buffer=null; i++;

       /*-------------------------------------------------------------------*/
    } rs.close();
    return VCon;
    }
    public int getPostid(){
    return postid;
    }
    public int getGroupid(){
    return groupid;
    }
    public int getIstopic(){
    return istopic;
    }
    public int getIslock(){
    return j;
    }
    public String getTitle(){
    return title;
    }
    }
    我用以上红色代码来检查buffer输出的问题,放在前面的时候在控制台都能看到输出的内容,
    当放在以上位置时,就不能在输出了,我不知道这是不是导致content无法输出的原因!
      

  5.   

    web.xml:<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <servlet>
        <servlet-name>TopHead</servlet-name>
        <servlet-class>mybbs.TopHead</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>list_forum</servlet-name>
        <servlet-class>mybbs.list_forum</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>list_topics</servlet-name>
        <servlet-class>mybbs.list_topics</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>content</servlet-name>
        <servlet-class>mybbs.content</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>  <servlet-mapping>
        <servlet-name>TopHead</servlet-name>
        <url-pattern>/mybbsproject/TopHead</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>list_forum</servlet-name>
        <url-pattern>/mybbsproject/list_forum</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>content</servlet-name>
        <url-pattern>/mybbsproject/content</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>list_topics</servlet-name>
        <url-pattern>/mybbsproject/list_topics</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>struts-config.xml:<action path="/disbbs" forward="/disbbs.jsp" />
    跟disbbs.jsp页面中的配置是一样的
      

  6.   

    同路人呀!~  虽然我不知道你问的这个问题的答案,但我知道给你回复的人会很少.因为咱们发的代码太长了,大家打开你这个
    帖子后,一看这么多代码,又没遇见过类似的问题.第一反应: shutdown this page !~