ネットショッピングモールの伝言板の実現--伝言板に展示する

17491 ワード

伝言板に表示する
機能説明:ユーザがメッセージボード(guestbook.jsp)にアクセスするとGetMessageServiceletが呼び出される.JAvaは、servlet内でデータベース操作(MessageDaoImpl.javaのselectMessage()メソッドですべてのメッセージを検索)を呼び出し、ページジャンプ(guestbook.jspにジャンプ)を行い、メッセージ情報を表示する(調べたメッセージ情報をrequestによってフロントに持ち込んで表示する).guestbook.jspではrequestを介してメッセージ情報を取得する、それから展示を行い、従来の「ユーザによるメッセージ機能の追加」と併せてguestbook.jspにメッセージを入力し、送信後にaddMessageを呼び出す.doはデータベースに永続化し、現在のページguestbookにジャンプします.jspは、getMessageを呼び出す.doデータベース内のすべてのメッセージ情報をクエリーし、現在のページguestbookに表示する.jsp.
実現類:(ネットショッピングモールの伝言板の実現と結びつける--ユーザーが伝言を追加する)
MessageDaoImpl.java(selectMessage())
GetMessageServlet.java
guestbook.jsp(完全)
コードは次のとおりです.
MessageDaoImpl.java(selectMessage())
@Override
    public List<Message> selectMessage() {
        List<Message> message = new ArrayList<Message>();
        Connection connection = DBUtil.getConnection();
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            String sql = "select * from guestbook";

            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()) {
                Message m = new Message();
                m.setName(resultSet.getString("name"));
                m.setTitle(resultSet.getString("title"));
                m.setContent(resultSet.getString("content"));

                message.add(m);
            }
        } catch (SQLException e) {
            throw new DataBaseException();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

        }
        return message;
    }

GetMessageServlet.java
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ymw.dao.MessageDao;
import com.ymw.dao.MessageDaoImpl;
import com.ymw.domain.Message;
import com.ymw.exception.DataBaseException;

public class GetMessageServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //                
        MessageDao messageDao=new MessageDaoImpl();
        try {
            //  selectMessage()      
            List<Message> message=messageDao.selectMessage();   
            request.setAttribute("message", message);
            //  
            request.getRequestDispatcher("guestbook.jsp").forward(request,
                    response);
        } catch (DataBaseException e) {
            e.printStackTrace();
            request.getRequestDispatcher("dataBase.jsp").forward(request,
                    response);
        } catch (Exception e) {
            e.printStackTrace();
            request.getRequestDispatcher("error.jsp")
                    .forward(request, response);
        }finally{
        }

    }

}

guestbook.jsp(メッセージが多すぎる場合、対応するメッセージページング機能を実現できる)
<% List<Message> message = (List<Message>) request.getAttribute("message"); if (message != null) { %>

<div class="main">
        <div class="guestbook">
            <h2>    </h2>
            <ul>
            <c:forEach var="message" items="${requestScope.message }">
                <li>
                    <dl>
                        <dt>${message.title }</dt>
                        <dd class="author">  :${message.name }<span class="timer"></span></dd>
                        <dd>${message.content }</dd>
                    </dl>
                </li>
                </c:forEach>
            </ul>
            <div class="clear"></div>
            <div class="pager">
                <ul class="clearfix">
                    <li><a href="#">   </a></li>
                    <li class="current">1</li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#">   </a></li>
                </ul>
            </div>
            <div id="reply-box">
                <form method="post" action="addMessage.do" ">
                    <table>
                        <tr>
                            <td class="field"></td>
                            <td><input class="text" type="text" name="guestName" /></td>
                        </tr>
                        <tr>
                            <td class="field"></td>
                            <td><input class="text" type="text" name="guestTitle" /></td>
                        </tr>
                        <tr>
                            <td class="field"></td>
                            <td><textarea name="guestContent"></textarea></td>
                        </tr>
                        <tr>
                            <td></td>
                            <td><label class="ui-blue"><input type="submit" name="submit" value="    " /></label></td>
                        </tr>
                    </table>
                </form>
            </div>
        </div>
    </div>
</div>

<%} else { response.sendRedirect("getMessage.do"); } %>