⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forum_index.java

📁 jsp 应用开发详解源代码 电子工业出版社 包含书中个源代码
💻 JAVA
字号:
package ec;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.sql.*;public class forum_index extends HttpServlet {  private static final String CONTENT_TYPE = "text/html; charset=GBK";  /**Initialize global variables*/  public void init() throws ServletException {    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";    try {      Class.forName(sDBDriver);    }    catch(java.lang.ClassNotFoundException e) {      System.err.println( e.getMessage());    }  }  public ResultSet executeQuery(String sql) {    String sConnStr = "jdbc:odbc:faq";    Connection connect = null;    ResultSet rs = null;    rs = null;    try {      connect = DriverManager.getConnection(sConnStr);      Statement stmt = connect.createStatement();      rs = stmt.executeQuery(sql);    }    catch(SQLException ex) {      System.err.println(ex.getMessage());    }    return rs;  }  public String getStr(String str){	try	{		String temp_p=str;		byte[] temp_t=temp_p.getBytes("GBK");		String temp=new String(temp_t,"ISO8859_1");		return temp;	}	catch(Exception e)	{	}	return "null";}  /**Process the HTTP Get request*/  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    response.setContentType(CONTENT_TYPE);    PrintWriter out = response.getWriter();    HttpSession session=request.getSession(true);    out.println("<html>");    out.println("<head><title>forum_index</title></head>");    out.println("<body>");    out.println("<TABLE border=0 cellPadding=0 cellSpacing=0 width=760 align=\"center\">");    out.println("  <TBODY>");    out.println("  <tr><td align=\"left\" height=25>");    if(session.getAttribute("username")!=null)    {      out.println(session.getAttribute("username"));    }    out.println("当前位置:<a href=\"../ec/index.jsp\">首页</a> -&gt; 论坛  </td>");    out.println("  </tr>");    out.println("  <TR bgColor=#3399ff>");    out.println("    <TD height=1 colspan=\"2\"><IMG height=1 src=\"images/spacer.gif\" ");    out.println("  width=16></TD></TR>");    out.println("  <tr><td height=10 colspan=\"2\"><IMG height=1 src=\"images/spacer.gif\" ");    out.println("  width=16></td></tr>");    out.println("  </TBODY></TABLE>");    out.println("  <table align=\"center\" border=\"0\" width=\"760\" cellspacing=\"0\" cellpadding=\"0\" height=\"355\"> ");    out.println("	<tr>  ");    out.println("		<td width=\"150\" height=\"355\" valign=\"top\">");    out.println("		</td>   ");    out.println("		<td width=\"10\" height=\"100%\"></td>");    out.println("		<td width=\"1\" height=\"100%\" bgcolor=\"#3399ff\"></td>");    out.println("		<td width=\"10\" height=\"100%\"></td>");    out.println("		<td width=\"589\" height=\"331\" valign=\"top\" background=\"images/bg1.gif\"> ");    out.println("        <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"> ");    out.println("          <tr>");    out.println("            <td width=\"60%\" height=\"20\" bgcolor=\"#3399ff\">&nbsp;<font color=\"#ffffff\">标题</font>");    out.println("			</td>");    out.println("            <td width=\"15%\" height=\"20\" bgcolor=\"#3399ff\">&nbsp;<font color=\"#ffffff\">作者</font> ");    out.println("			</td>");    out.println("            <td width=\"15%\" height=\"20\" bgcolor=\"#3399ff\">&nbsp;<font color=\"#ffffff\">日期</font> ");    out.println("			</td>");    out.println("		  </tr>");    out.println("		  <ul>");	///////////////算出共多少页      int t;      int mtotal;      t=0;      String strSQLsize="SELECT id FROM topic";      ResultSet RSsize = executeQuery(strSQLsize);      try      {          while(RSsize.next()){                  t=t+1;          }          //如果纪录总数除以每页的显示个数,余数大于0,那么          //逻辑页数应该为商+1          if((t%10)>0){                  mtotal=t/10+1;          }else mtotal=t/10;        String pageNo, mTmp;        int i, j, k;          pageNo = request.getParameter("pageNo");          //out.println(pageNo);=========null          if(pageNo == null){              pageNo = "1";          }                  j = Integer.parseInt(pageNo);    //		out.println(pageNo);=========1    //		out.println(j);==========1          if(j < 1)              j = 1;          if(j > mtotal)              j = mtotal;          String strSQL="SELECT * FROM topic order by id desc";          ResultSet RSa = executeQuery(strSQL);          for(k = 0;k < (j-1)*10;k++)          {                  RSa.next();          }          i = 0;          k = 1;          while (RSa.next()) {                i = i + 1;              //超过10条              if(i == 11)              {                  k = 0;                  break;              }                          out.print("<tr height='23'><td><li><a href=ec.forum_article?id="+RSa.getInt("id"));                          out.print(">"+(RSa.getString("title"))+"</a></td><td>"+(RSa.getString("author"))+"</td><td>"+RSa.getDate("date")+"</td></tr>");                  }                  i = i - k;        RSa.close();    ////////////////////////////////////////////////        if(j > 1)        {            out.println("<a href=\"ec.forum_index?pageNo=1\">第一页</a>");        int ii = Integer.parseInt(pageNo,10);        if(ii > 1)            ii = ii -1;        String ssTmp = Integer.toString(ii);          out.println("<a href=\"ec.forum_index?pageNo="+ssTmp+"\">上一页</a>");        }        if(j < mtotal)        {          int ii = Integer.parseInt(pageNo,10);          if(ii < mtotal)              ii = ii + 1;          String ssTmp = Integer.toString(ii);          out.println("<a href=\"ec.forum_index?pageNo="+ssTmp+"\">下一页</a>");          out.println("<a href=\"ec.forum_index?pageNo="+mtotal+"\">最后页</a>");        }        if(mtotal < j)          j = mtotal;          out.println("结果共"+mtotal+"页,显示第"+j+"页");      }      catch(Exception sqlEx)      {        System.err.println(sqlEx.getMessage());      }      out.println("  <tr><td height=\"1\" bgcolor=\"#3399ff\" colspan=\"4\"></td></tr>");      out.println("  <tr>");      out.println("      <td align=\"right\" colspan=\"4\" height=\"32\">");      out.println("	<p align=right><a href=\"ec.forum_post\">发表新言论</a> ");      out.println("	</p>    ");      out.println("			</td><form name=\"form2\" action=\"ec.forum_index\" method=\"post\">");      out.println("			<input type=\"hidden\" name=\"pageNo\" value=\"\">");      out.println("			</form>");      out.println("			<script language=\"javascript\">");      out.println("			function sub_page(id)");      out.println("			{");      out.println("				if(id==0)");      out.println("					document.form2.pageNo.value=0;");      out.println("				else if(id==1)");      out.println("					document.form2.pageNo.value=2;");      out.println("				document.form2.submit();");      out.println("			}");      out.println("			</script>");      out.println("		  </tr>");      out.println("        </table>   ");      out.println("    </td>");      out.println("    </tr>");      out.println("  </table>");      out.println("</body></html>");  }  /**Clean up resources*/  public void destroy() {  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -