package com.tarena.blog.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import com.tarena.blog.dao.SystemDAO;
import com.tarena.blog.dao.impl.SystemDAOImpl;
import com.tarena.blog.entity.Blog;
import com.tarena.blog.entity.Type;
import com.tarena.blog.entity.BlogComment;
import com.tarena.blog.entity.User;
import com.tarena.blog.service.BlogService;
import com.tarena.blog.service.impl.BlogServiceImpl;
import com.tarena.blog.util.PageParameter;
import com.tarena.blog.util.QueryResult;
import com.tarena.blog.util.TokenUtil;
public class BlogAction extends MappingDispatchAction {
BlogService b=new BlogServiceImpl();
int bid=0;
public ActionForward blog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub分页显示日志 及日志类型
User u =(User) request.getSession().getAttribute("domainUser");
String page= request.getParameter("page");
String type= request.getParameter("type");
int num=PageParameter.BLOG_ITEMS_EACH_PAGE;
int ipage=1;
if(page!=null&&!page.matches("^[0-9]{0,9}$")){
request.getSession().setAttribute("info","访问错误,请<a href='/Blog/login.jsp'>返回</a>");
return mapping.findForward("fail");
}
if (page!=null)
ipage = Integer.parseInt(page);
List<Type> types = b.findAllType(u.getId());
QueryResult<Blog> qr=null;
String path=null;
if(type==null){
qr=b.findAll(u.getId(), ipage, num);//获得用户的所有日志
path="/Blog/blog.do?assise=";
}else{
qr=b.findAllByType(u.getId(),Integer.parseInt(type),ipage,num);
path="/Blog/blog.do?assise=&type="+type;
}
if(qr!=null){
long tpage=(qr.getCount()%num==0)?(qr.getCount()/num):(qr.getCount()/num)+1;
path=PageParameter.pageNavigator((int)tpage, ipage, path);
request.getSession().setAttribute("type", types);
request.setAttribute("blog", qr.getData());
request.setAttribute("page", path);
}
return mapping.findForward("success");
}
public ActionForward sendComment(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
User u = (User) request.getSession().getAttribute("domainUser");
String nickname=request.getParameter("nickname");
String content=request.getParameter("content");
//String blogid=request.getParameter("blogid");
BlogComment bc=new BlogComment();
Blog blog= b.findSingleBlog(bid);
bc.setBlog(blog);
bc.setName(nickname);
bc.setBlog(blog);
bc.setContent(content);
Date date = new Date();
bc.setPublishTime(date);
blog.addComments(bc);
b.addBlogCom(bc);
blog= b.findSingleBlog(bid);
request.getSession().setAttribute("blog", blog);
return mapping.findForward("success");
}
public ActionForward publish(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return mapping.findForward("success");
}
public ActionForward blogByType(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Blog b =(Blog) request.getSession().getAttribute("type");
return null;
}
public ActionForward singleblog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
User u = (User) request.getSession().getAttribute("domainUser");
String blogid= request.getParameter("blogid");
bid=Integer.parseInt(blogid);
Blog blog= b.findSingleBlog(bid);
System.out.println(blog.getTitle());
Collection<BlogComment> com=blog.getComments();
request.setAttribute("blog", blog);
request.setAttribute("blogcontent", com);
return mapping.findForward("success");
}
public ActionForward addblog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.getParameter("token");
request.getSession().getAttribute("token");
if(!TokenUtil.validate(request)){
request.setAttribute("info", "验证码输入错误,请重新输入<a href='/Blog/publish.do'>返回</a>");
return mapping.findForward("fail");
}else{
User u=(User) request.getSession().getAttribute("loginUser");
String content=request.getParameter("editor_body");
String title =request.getParameter("blog_title");
String type=request.getParameter("publish_type");
List<Type> ts=(List<Type>) request.getSession().getAttribute("type");
Blog bg =new Blog();
bg.setContent(content);
bg.setTitle(title);
bg.setPublishTime(new Date());
bg.setUser(u);
Type tp = null;
for (int i=0;i<ts.size();i++){
System.out.println(i);
System.out.println(ts.get(i).getTypeName());
if(ts.get(i).getTypeName().equals(type)){
tp=ts.get(i);
}
}
if(tp==null){
tp = new Type();
tp.setTypeName(type);
}
bg.setType(tp);
b.addBlog(bg);
return mapping.findForward("success");
}
}
public ActionForward token(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String word=TokenUtil.createToken();
request.getSession().setAttribute("token", word);
TokenUtil.responseToken(word, response);
return null;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
struts 开发的blog系统(有漏洞) (267个子文件)
4.bmp 6KB
0.bmp 5KB
2.bmp 5KB
3.bmp 5KB
5.bmp 5KB
6.bmp 3KB
1.bmp 3KB
BlogAction.class 7KB
PhotoAction.class 6KB
BlogServiceImpl.class 4KB
MessageServiceImpl.class 3KB
SystemAction.class 3KB
PathFilter.class 3KB
MessageAction.class 2KB
LoginAction.class 2KB
PhotoServiceImpl.class 2KB
SystemServiceImpl.class 2KB
CharFilter.class 1KB
BlogService.class 810B
MessageService.class 384B
PhotoService.class 326B
SystemService.class 295B
.classpath 677B
style_shop.css 14KB
style.css 9KB
base.css 3KB
login.css 1KB
Thumbs.db 100KB
Thumbs.db 62KB
Thumbs.db 60KB
Thumbs.db 49KB
Thumbs.db 29KB
Thumbs.db 23KB
Thumbs.db 22KB
toolbar_bg.gif 16KB
nane.gif 12KB
face_bg.gif 11KB
processbg.gif 9KB
footer_logo.gif 3KB
ParaFormatting.gif 3KB
tableheader-bg.gif 3KB
036.gif 2KB
justifyformat_bg.gif 2KB
title_bg.gif 2KB
002.gif 2KB
019.gif 2KB
footer.gif 2KB
paste_over.gif 2KB
039.gif 2KB
010.gif 2KB
ParaFormatting_over.gif 2KB
dilog_bt_cancel.gif 2KB
033.gif 2KB
dilog_bt_ok.gif 2KB
024.gif 2KB
paste.gif 1KB
003.gif 1KB
018.gif 1KB
014.gif 1KB
037.gif 1KB
tableheader-bg-grey.gif 1KB
020.gif 1KB
012.gif 1KB
026.gif 1KB
025.gif 1KB
copy_over.gif 1KB
face_over.gif 1KB
008.gif 1KB
cut_over.gif 1KB
hilitecolor_over.gif 1KB
022.gif 1KB
face.gif 1KB
007.gif 1KB
030.gif 1KB
logo.gif 1KB
error.gif 1KB
021.gif 1KB
logo.gif 1KB
right.gif 1KB
009.gif 1KB
004.gif 1022B
035.gif 1011B
editor_foot.gif 1006B
032.gif 990B
038.gif 988B
017.gif 948B
013.gif 932B
011.gif 892B
028.gif 888B
001.gif 887B
034.gif 858B
006.gif 856B
016.gif 838B
015.gif 838B
005.gif 818B
029.gif 814B
guage.gif 809B
guage.gif 809B
027.gif 800B
040.gif 798B
共 267 条
- 1
- 2
- 3
资源评论
- lointo2013-07-27貌似运行不出来,好多小问题。
xingxingling008724
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MSFRosslerAll (2).for
- vs2022安装包在线安装包
- Microsoft C++ 生成工具
- 74LS190实现10以内、100以内十进制加/减计数器-由multisim软件电路仿真设计
- 毕业项目:网上图书订阅管理系统的设计与开发(ASP.NET技术+程序源代码+毕业文档)
- zjk-1.ipynb
- Delphi 12 控件之EhLib.v10.2.42 for Delphi 5-12.src.rar
- cloudreve3.8.3的docker镜像
- RB108A-SOT23-5封装 单节锂电池保护IC 深圳市可芯电子有限公司.pdf
- Apache Maven的安装与配置.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功