📄 insertservlet.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("<", "<"))
.append("</username>").append("<emailmessage>")
.append(info.getEmailMessage().replaceAll("<", "<"))
.append("</emailmessage>").append("<homepage>")
.append(info.getHomePage().replaceAll("<", "<"))
.append("</homepage>").append("<img>").append(info.getImg())
.append("</img>").append("<contentformat>")
.append(info.getContentFormat().replaceAll("<", "<"))
.append("</contentformat>").append("<dateformat>")
.append(info.getDateFormat()).append("</dateformat>")
.append("<reply>")
.append(info.getReply().replaceAll("<", "<"))
.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 + -