jsp开发教程之 仿MOP论坛 三(帖子列表-下)

简介:
 
首先设计关于帖子列表的servlet类,来进行页面和逻辑代码之间的分离和控制,这里我直接省略了bo层,权且用servlet来代替bo
com.axbbs.bo 下新建一个 GetPostsList类
内容如下:
package com.axbbs.bo; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.ArrayList; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

import com.axbbs.Dao.GetPostListDAO; 
import com.axbbs.po.PostPo; 

/** 
* @程序编写 阿汐 
* @版本 1.0 
* @说明 仿wc的jsp版本小论坛 
* @本模块是用于获取帖子列表信息的Servlet类 
* @并且功能并不需要太多,因此本版本没有采用传统意义上的MVC开发模式,而是针对 
* @vo,bo类进行了精简,用po类来共用vo类,用servlet类来共用bo类,很奇怪的开发模式 
* @日期 2008.09.01 

*/
 
public  class GetPostsList  extends HttpServlet { 

     /** 
  * Constructor of the object. 
  */
 
     public GetPostsList() { 
   super(); 
    } 

     /** 
  * Destruction of the servlet. <br> 
  */
 
     public  void destroy() { 
   super.destroy();  // Just puts "destroy" string in log 
   // Put your code here 
    } 

     /** 
  * The doGet method of the servlet. <br> 
  * 
  * This method is called when a form has its tag value method equals to get. 
  *  
  * @param request the request send by the client to the server 
  * @param response the response send by the server to the client 
  * @throws ServletException if an error occurred 
  * @throws IOException if an error occurred 
  */
 
     public  void doGet(HttpServletRequest request, HttpServletResponse response) 
       throws ServletException, IOException { 

  response.setContentType( "text/html"); 
  PrintWriter out = response.getWriter(); 
   //创建一个集合,用来存储帖子列表的各种信息 
  ArrayList list =  new ArrayList(); 
   //创建DAO对象 
  GetPostListDAO gpld =  new GetPostListDAO(); 
   //将DAO执行的ViewList方法所返回的帖子列表信息赋值给list 集合对象 
  list=gpld.ViewList(); 
   //创建session对象以期将帖子列表信息在页面上显示 
  HttpSession session = request.getSession(); 
   //设置session viewlist的属性为list对象 
  session.setAttribute( "viewList", list); 
   //页面跳转到menu.jsp,也就是帖子列表显示的页面 
  response.sendRedirect( "menu.jsp"); 
  out.flush(); 
  out.close(); 
    } 

     /** 
  * The doPost method of the servlet. <br> 
  * 
  * This method is called when a form has its tag value method equals to post. 
  *  
  * @param request the request send by the client to the server 
  * @param response the response send by the server to the client 
  * @throws ServletException if an error occurred 
  * @throws IOException if an error occurred 
  */
 
     public  void doPost(HttpServletRequest request, HttpServletResponse response) 
       throws ServletException, IOException { 
      doGet(request, response); 
    } 

     /** 
  * Initialization of the servlet. <br> 
  * 
  * @throws ServletException if an error occure 
  */
 
     public  void init()  throws ServletException { 
   // Put your code here 
    } 


 
开始设计menu.jsp
 

<%@ page language= "java"  import= "java.util.*" pageEncoding= "GBK"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+ "://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>
//在jsp页面导入PostPo包,用来进行类型强制转换用
<%@ page  import="com.axbbs.po.PostPo" %> 
<style type="text/css"
<!-- 
*{ 
font-size:12px; 


body{ 
    font-size: 12px;  
    background-color: #A9DAFF;     

a{ 
TEXT-DECORATION:none; 
color:#000000; 

.STYLE1 { 
    color: #FF0000; 
    font-weight: bold; 

.STYLE4 {color: #000033} 

--> 
</style> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GBK" /> 
<title></title> 
</head> 

<body> 
<div id="head"
  <select name="select"
    <option value="1">1日内</option> 
    <option value="2">2日内</option> 
    <option value="3">3日内</option> 
  </select> 
  <select name="select2"
    <option>时间</option> 
    <option>浏览</option> 
    <option>回复</option> 
  </select> 
  <input type="submit" name="Submit" value="ALL" /> 
  <input type="submit" name="Submit2" value="SELF" /> 
发贴 必读 <span class="STYLE1">关注</span> 刷新</div> 
<br/> 
<span class="STYLE4">用户在本站所发表言论只代表其个人观点,不代表本站立场. </span><br/> 
<br/> 
<%     
    //创建一个ArrayList集合对象用来存储帖子列表的信息 
    ArrayList arrayList =(ArrayList)session.getAttribute("viewList"); 
    //集合存在的情况下继续 
    if(arrayList!=null){ 
    //循环读取集合的信息,有很多帖子.... 
        for(int i = 0;i<arrayList.size();i++){ 
        //对集合进行类型强制转换用以便于取值 
        PostPo pp = (PostPo)arrayList.get(i); 
      //输出帖子列表的信息 
      out.print("<a href=GetPostInfo?id="+pp.getPostId()+" target=mainFrame title="+pp.getPosttime()+">◆ "+pp.getPostTitle()+"("+pp.getPostReply()+"/"+pp.getPostHits() + ")"+"</a></br>"); 
        } 
    } 
%> 

  
</body> 
</html> 

    
OK
最终我们访问程序就是这样了,这三条数据是我在数据库中手动添加用作测试的.
 
 
本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/97508,如需转载请自行联系原作者

相关文章
|
Java
JSP 教程 之 JSP 国际化 2
**JSP教程:国际化(i18n)与本地化(l10n)**涉及根据用户语言和地区展示内容。关键概念包括区域标识(如&quot;en_US&quot;),`Locale`对象用于检测语言和国家,如`getCountry()`返回地区码,`getDisplayCountry()`显示用户友好的国家名,`getLanguage()`获取语言码,`getDisplayLanguage()`显示语言名,以及`getISO3Country()`和`getISO3Language()`提供3字母缩写。这些方法帮助创建适应不同文化的网站。
165 4
|
Java
JSP 教程 之 JSP 国际化 3
**JSP教程:国际化简述** 了解i18n(国际化)和l10n(本地化),涉及根据用户语言和地区展示内容。区域用如&quot;en_US&quot;标识。`Locale`对象关键方法包括:`getCountry()`显示国家代码,`getDisplayCountry()`显示国家名称,`getLanguage()`和`getDisplayLanguage()`分别用于语言。
150 1
|
自然语言处理 Java 容器
JSP 教程 之 JSP 国际化 1
**JSP教程:国际化简述** 了解关键概念:i18n(国际化)为用户提供多语言版本,l10n(本地化)适应区域文化差异,如印度语版网站。区域标识如&quot;en_US&quot;。JSP利用request的locale属性显示相应版本。通过`request.getLocale()`获取用户区域。教程深入探讨全球化网站的实现。
167 0
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
154 1
|
Java
JSP 教程 之 JSP 国际化 6
**JSP教程-JSP国际化**涉及i18n(页面按访客语言显示不同版本)和l10n(适应不同地区文化)。区域如&quot;en_US&quot;代表美国英语。使用`NumberFormat`进行区域特定货币格式化,
174 4
|
Java
JSP 教程 之 JSP 调试 7
**JSP调试涉及复杂客户端/服务器交互,常需借助日志记录如JDB Logger来跟踪错误。使用JDB Debugger调试JSP及servlets,通过sun.servlet.http.HttpServer模拟HTTP请求。设置调试器classpath以定位JSP及所需类,设置断点后,通过浏览器触发请求进行调试。**
112 4
|
Java
JSP 教程 之 JSP 国际化 7
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家显示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何用`NumberFormat`和`getLocale()`格式化区域特定的百分比,展示标题和格式化后的百分比值。
184 3
|
自然语言处理 Java
JSP 教程 之 JSP 国际化 4
JSP 国际化涉及i18n(根据不同用户语言显示内容)和l10n(适应不同地区文化)。区域标识如&quot;en_US&quot;指美国英语。设置`Content-Language`响应头(如`es`为西班牙语)和使用HTML字符实体(如`ñ`、`¡`)确保正确显示多语言内容。示例代码展示如何设置响应内容类型为西班牙语并输出带特殊字符的标题。
184 3
|
缓存 Java
JSP 教程 之 JSP 调试 10
**JSP调试技巧:**利用JDB日志记录服务跟踪问题;查看HTTP头解决客户端/服务器交互异常;浏览器查看原始页面内容排查格式错误;使用Shift-Reload/Shift-Refresh强制刷新,防止缓存影响调试。
132 3
|
Java
JSP 教程 之 JSP 国际化 5
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家展示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何利用`java.text.DateFormat`按用户区域(通过`request.getLocale()`获取)格式化日期和时间,展示本地化日期。
144 2