⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insertservlet.java

📁 java结合ajax编写的简易留言本
💻 JAVA
字号:
package anni.gbook.ajax;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

import java.util.Date;
import java.util.List;
import java.util.logging.Logger;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import anni.gbook.BoardInfo;
import anni.gbook.FileDAO;
import anni.gbook.IBoardDAO;


/**
 * 添加留言.
 * @author Lingo
 * @version 1.0
 * @since 2006-01-19
 */
public class InsertServlet extends HttpServlet {
    /**
     * 日志.
     */
    private Logger log = Logger.getLogger(InsertServlet.class.getName());

    /**
     * dao接口.
     */
    private IBoardDAO dao;

    /**
     * 初始化dao.
     * @param config 配置
     * @throws ServletException servlet异常
     */
    public final void init(final ServletConfig config)
        throws ServletException {
        super.init(config);
        dao = FileDAO.getInstance();
    }

    /**
     * 销毁servlet.
     */
    public final void destroy() {
        super.destroy();
        dao = null;
    }

    /**
     * 处理post请求.
     * @param request 请求
     * @param response 响应
     * @throws ServletException servlet异常
     * @throws IOException io异常
     */
    protected final void doPost(final HttpServletRequest request,
        final HttpServletResponse response)
        throws ServletException, IOException {
        log.info("start");

        /* ===================添加留言================================================ */

        //先从form中取出各个字段的值
        //
        String name = request.getParameter("name");
        String email = request.getParameter("email");
        String pageName = request.getParameter("pagename");
        String pageUrl = request.getParameter("pageurl");
        String sex0 = request.getParameter("sex"); //0-boy,1-girl
        String img = request.getParameter("img");
        String content = request.getParameter("content");

        //客户留言者IP
        String ip = request.getRemoteAddr();

        log.info("这里已经从request中成功的把数据都取出来了。");
        log.info(name + "|" + email + "|" + pageName + "|" + pageUrl + "|"
            + sex0 + "|" + img + "|" + content);

        //对字段进行处理
        //
        if (pageName == null) {
            pageName = "";
        }

        if ((pageUrl == null) || pageUrl.equals("http://")) {
            pageUrl = "";
        } else {
            if (pageName.equals("")) {
                pageName = "homePage";
            }
        }

        try {
            name = new String(name.getBytes("ISO-8859-1"), "GB2312");
            pageName = new String(pageName.getBytes("ISO-8859-1"), "GB2312");
            content = new String(content.getBytes("ISO-8859-1"), "GB2312");
        } catch (UnsupportedEncodingException ex) {
            System.err.println(ex);
        }

        int sex = 0;

        try {
            sex = Integer.parseInt(sex0);
        } catch (NumberFormatException ex) {
            sex = 0;
        }

        log.info("这里已经成功的完成了数据的验证与转换,下面要进行添加。");

        //添加记录
        //
        BoardInfo info = new BoardInfo();
        info.setName(name);
        info.setEmail(email);
        info.setPageName(pageName);
        info.setPageUrl(pageUrl);
        info.setSex(sex);
        info.setImg(img);
        info.setContent(content);
        info.setIp(ip);
        info.setDateTime(new Date());
        info.setReply("");

        log.info("成功制作了一个BoardInfo。");

        dao.insert(info);

        log.info("成功添加了一条留言到dao中");

        /* ===================添加完毕================================================ */
        response.setContentType("text/xml");
        response.setCharacterEncoding("GBK");

        PrintWriter out = response.getWriter();
        out.print(getResult());

        log.info("end");
    }

    /**
     * 查找所有留言,返回xml格式的结果.
     * @return String xml
     */
    private String getResult() {
        List list = dao.findAll();
        int pageSize = 6;
        int sum = list.size();
        int num = ((sum - 1) / pageSize) + 1;

        int curr = 0;

        int start = 0;

        /*
         *int end = (sum < 6) ? sum : 6;
         */
        int end = 6;

        if (sum < 6) {
            end = sum;
        }

        StringBuffer buff = new StringBuffer();
        buff.append("<?xml version=\"1.0\" encoding=\"GBK\"?>")
            .append("<constants>");

        BoardInfo info;

        //for(int i=start; i<=start; i++)
        for (int i = start; i < end; i++) {
            info = (BoardInfo) list.get(i);
            buff.append("<info>").append("<id>").append(info.getId())
                .append("</id>").append("<username>")
                .append(info.getUsername().replaceAll("<", "&lt;"))
                .append("</username>").append("<emailmessage>")
                .append(info.getEmailMessage().replaceAll("<", "&lt;"))
                .append("</emailmessage>").append("<homepage>")
                .append(info.getHomePage().replaceAll("<", "&lt;"))
                .append("</homepage>").append("<img>").append(info.getImg())
                .append("</img>").append("<contentformat>")
                .append(info.getContentFormat().replaceAll("<", "&lt;"))
                .append("</contentformat>").append("<dateformat>")
                .append(info.getDateFormat()).append("</dateformat>")
                .append("<reply>")
                .append(info.getReply().replaceAll("<", "&lt;"))
                .append("</reply>").append("</info>");

            //log.info(info.getContentFormat());
        }

        //log.info(buff.toString());
        buff.append("<currentpage>").append(curr).append("</currentpage>")
            .append("<sum>").append(sum).append("</sum>").append("<num>")
            .append(num).append("</num>");
        buff.append("</constants>");

        return buff.toString();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -