Servlet日記(2001/12/02)

本日の成果

 ずいぶん昔に電子掲示板もどきをつくったのですが、気まぐれに作り直してみました。メッセージの登録だけができるので、機能的には後退しています ^^;

 個々のメッセージはこんな感じ。何の変哲もありません。

public class BbsMsg implements java.io.Serializable {
        private String userName = null;
        private String subject = null;
        private String content = null;

public BbsMsg() {
        super();
}

public BbsMsg(String userName, String subject, String content) {
        this.userName = userName;
        this.subject = subject;
        this.content = content;
}

public String getContent() {
        return content;
}

public String getSubject() {
        return subject;
}

public String getUserName() {
        return userName;
}

public void setContent(String newContent) {
        content = newContent;
}

public void setSubject(String newSubject) {
        subject = newSubject;
}

public void setUserName(String newUserName) {
        userName = newUserName;
}
}

 Servletの方はこんな感じ。実はこちらも何の変哲もないので、書くこともないんですよね〜

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import BbsMsg;

public class BBS1 extends HttpServlet {
private List msgList = null;

public void init() throws ServletException {
        msgList = Collections.synchronizedList(new ArrayList());
}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html; charset=Shift_JIS");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>掲示板 No.1</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>掲示板 No.1</h1>");
        out.println("<form method=post>");
        out.println("<table>");
        out.println("<tr><th>名前</th><td><input type=text name=\"userName\"></td></tr>");
        out.println("<tr><th>題名</th><td><input type=text name=\"subject\"></td></tr>");
        out.println("<tr><th>内容</th><td><textarea name=\"content\" rows=5></textarea></td></tr>");
        out.println("</table>");
        out.println("<br>");
        out.println("<input type=submit value=\"投稿\">");
        out.println("<input type=reset value=\"クリア\">");
        out.println("</form>");

        if (msgList != null) {
                for (Iterator it = msgList.iterator(); it.hasNext(); ) {
                        BbsMsg msg = (BbsMsg)it.next();
                        out.println("<hr>");
                        out.println("<table>");
                        out.println("<tr><th>名前</th><td>" + msg.getUserName() + "</td></tr>");
                        out.println("<tr><th>題名</th><td>" + msg.getSubject() + "</td></tr>");
                        out.println("<tr><th>内容</th><td>" + msg.getContent() + "</td></tr>");
                        out.println("</table>");
                }
        }
        out.println("</body>");
        out.println("</html>");
}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String userName = new String(request.getParameter("userName").getBytes("8859_1"), "JISAutoDetect");
        String subject  = new String(request.getParameter("subject" ).getBytes("8859_1"), "JISAutoDetect");
        String content  = new String(request.getParameter("content" ).getBytes("8859_1"), "JISAutoDetect");
        BbsMsg msg = new BbsMsg(userName, subject, content);
        msgList.add(msg);

        doGet(request, response);
}

}

 ということで、動いてしまったので、今日はヨシとしましょう。

本日の教訓

 時間をおいて作り直すと、ずいぶん感じが違うものです。

Servlet日記の目次 ホーム