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;
}
}
}