ネットショッピングモールの伝言板の実現--伝言板に展示する
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())
GetMessageServlet.java
guestbook.jsp(メッセージが多すぎる場合、対応するメッセージページング機能を実現できる)
機能説明:ユーザがメッセージボード(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"); } %>