package com.a_tak.bbs; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import java.sql.*; import com.a_tak.web.CookieSend; import com.a_tak.web.LangChange; import com.a_tak.login.UserInfo; import com.a_tak.bbs.BbsWriteAction; /** * 掲示板書き込みサーブレット * Copyright(C) 2001 A-tak, Japan * * @see LangChange, DbAccess * @version 1.0 * @since 2001.05.14 * @author A-tak */ public class BbsWrite extends HttpServlet { LangChange lc = new LangChange(); boolean result; ServletContext ctx = null; /** * サーブレットの初期化 * @param ServletConfig config * @return void * @throws ServletException サーブレットのエラー */ public void init(ServletConfig config) throws ServletException{ super.init(config); if(ctx == null) { ctx = config.getServletContext(); } } /** * 新規書き込み * フォームから各種データを読みとり登録のチェック * 実際の登録までを行う * @param HttpServletRequest req HTTPリクエスト * @param HttpServletResponse res HTTPレスポンス * @return void * @throws IOException * @throws ServletException サーブレットのエラー */ public void service(HttpServletRequest req,HttpServletResponse res) throws IOException, ServletException { //セッションからオブジェクト取得 HttpSession session = req.getSession(); UserInfo userinfo = (UserInfo)session.getAttribute("userinfo"); String no = userinfo.getNo(); //noが空の時(ゲストユーザー、セッション切れの時)は0を入れる if (no.equals("")) { no = "0"; } //こちらはフォームから取得 String name = lc.getUnicodeString(req.getParameter("name")).trim(); String title = lc.getUnicodeString(req.getParameter("title")).trim(); String email = lc.getUnicodeString(req.getParameter("mail")).trim(); String url = lc.getUnicodeString(req.getParameter("url")).trim(); String word = lc.getUnicodeString(req.getParameter("word")).trim(); String errmsg; errmsg = ""; if (blankCheack(name) == false) { errmsg = errmsg + "名前を入れてください
\n"; } if (blankCheack(title) == false) { errmsg = errmsg + "タイトルを入れてください
\n"; } if (blankCheack(word) == false) { errmsg = errmsg + "メッセージを入れてください
\n"; } if (errmsg != "") { res.setContentType("text/html;charset=EUC_JP"); PrintWriter out = res.getWriter(); out.println(errmsg); out.println("戻る"); return; } //新規書き込み実行 BbsWriteAction bbs = new BbsWriteAction(); try { result = bbs.doWrite(no, title, name, email, url, word); RequestDispatcher rd; //登録成功 if (result) { rd = ctx.getRequestDispatcher("/servlet/com.a_tak.bbs.BbsCtrlServlet"); rd.forward(req, res); }else{ //なぜか失敗 rd = ctx.getRequestDispatcher("/message/error.jsp"); rd.forward(req, res); } }catch(Exception e){ res.setContentType("text/html;charset=EUC_JP"); PrintWriter out = res.getWriter(); out.println(e); } } private boolean blankCheack(String data) { if ( data.equals("") ) { return false; }else{ return true; } } }