JavaWeb项目开发案例精粹-第4章博客网站系统-004Service层
1.
package com.sanqing.service; import java.util.List; import com.sanqing.fenye.Page;
import com.sanqing.fenye.Result;
import com.sanqing.po.Article; public interface ArticleService {
//进行文章的保存
public void addArticle(Article article); //取出用户所有的文章
public List<Article> showUserAllArticle(String username); //分页显示用户文章
public Result showUserArticleByPage(String username,Page page); //分页显示全部文章
public Result showArticleByPage(Page page); //显示文章
public Article showArticle(int id); //获得评论数
public int getCritiqueCount(int AId);
}
2.
package com.sanqing.service; import java.util.List; import com.sanqing.dao.ArticleDAO;
import com.sanqing.dao.CritiqueDAO;
import com.sanqing.fenye.Page;
import com.sanqing.fenye.PageUtil;
import com.sanqing.fenye.Result;
import com.sanqing.po.Article; public class ArticleServiceImpl implements ArticleService {
private ArticleDAO articleDAO;
private CritiqueDAO critiqueDAO; public CritiqueDAO getCritiqueDAO() {
return critiqueDAO;
} public void setCritiqueDAO(CritiqueDAO critiqueDAO) {
this.critiqueDAO = critiqueDAO;
} public ArticleDAO getArticleDAO() {
return articleDAO;
} public void setArticleDAO(ArticleDAO articleDAO) {
this.articleDAO = articleDAO;
} public void addArticle(Article article) {
articleDAO.add(article);
} public List<Article> showUserAllArticle(String username) {
System.out.println(articleDAO.queryUserAllCount(username));
return articleDAO.queryUserAll(username);
} public Result showUserArticleByPage(String username, Page page) {
page = PageUtil.createPage(page,articleDAO.queryUserAllCount(username));
List<Article> all = articleDAO.queryByPage(username, page);
Result result = new Result();
result.setPage(page);
result.setList(all);
return result;
} public Result showArticleByPage(Page page) {
page = PageUtil.createPage(page,articleDAO.queryAllCount());
List<Article> all = articleDAO.queryAllByPage(page);
Result result = new Result();
result.setPage(page);
result.setList(all);
return result;
} public Article showArticle(int id) {
return articleDAO.queryById(id);
} public int getCritiqueCount(int AId) {
return critiqueDAO.queryCritiqueCount(AId);
} }
3.
package com.sanqing.service; import com.sanqing.po.BlogInfo; public interface BlogInfoService {
//设置博客个性化内容
public void setBlogInfo(BlogInfo blogInfo); //获得博客个性化内容
public BlogInfo getBlogInfo(String name);
}
4.
package com.sanqing.service; import com.sanqing.dao.BlogInfoDAO;
import com.sanqing.po.BlogInfo; public class BlogInfoServiceImpl implements BlogInfoService {
private BlogInfoDAO blogInfoDAO; public BlogInfo getBlogInfo(String username) {
return blogInfoDAO.get(username);
} public BlogInfoDAO getBlogInfoDAO() {
return blogInfoDAO;
} public void setBlogInfoDAO(BlogInfoDAO blogInfoDAO) {
this.blogInfoDAO = blogInfoDAO;
} public void setBlogInfo(BlogInfo blogInfo) {
//通过调用DAO组件来完成
blogInfoDAO.save(blogInfo);
} }
5.
package com.sanqing.service; import com.sanqing.fenye.Page;
import com.sanqing.fenye.Result;
import com.sanqing.po.Critique; public interface CritiqueService {
//添加评论
public void addCritique(Critique critique); //分页显示评论
public Result showCritiqueByPage(int AId,Page page); //获得指定文章的评论数
public int getCritiqueCount(int AId);
}
6.
package com.sanqing.service; import java.util.List; import com.sanqing.dao.CritiqueDAO;
import com.sanqing.fenye.Page;
import com.sanqing.fenye.PageUtil;
import com.sanqing.fenye.Result;
import com.sanqing.po.Article;
import com.sanqing.po.Critique; public class CritiqueServiceImpl implements CritiqueService {
private CritiqueDAO critiqueDAO; public CritiqueDAO getCritiqueDAO() {
return critiqueDAO;
} public void setCritiqueDAO(CritiqueDAO critiqueDAO) {
this.critiqueDAO = critiqueDAO;
} public void addCritique(Critique critique) {
critiqueDAO.addCritique(critique);
} public Result showCritiqueByPage(int AId, Page page) {
page = PageUtil.createPage(page,critiqueDAO.queryCritiqueCount(AId));
List<Critique> all = critiqueDAO.queryByPage(AId, page);
Result result = new Result();
result.setPage(page);
result.setList(all);
return result;
} public int getCritiqueCount(int AId) {
return critiqueDAO.queryCritiqueCount(AId);
}
}
7.
package com.sanqing.service; import java.util.Date; public interface DianjiliangService {
//ÅжÏÊÇ·ñµã»÷¹ý
public boolean isVistor(int AId,String IP,Date time);
}
8.
package com.sanqing.service; import java.util.Date; import com.sanqing.dao.DianjiliangDAO;
import com.sanqing.po.Dianjiliang; public class DianjiliangServiceImpl implements DianjiliangService{
private DianjiliangDAO dianjiliangDAO; public DianjiliangDAO getDianjiliangDAO() {
return dianjiliangDAO;
} public void setDianjiliangDAO(DianjiliangDAO dianjiliangDAO) {
this.dianjiliangDAO = dianjiliangDAO;
} public boolean isVistor(int AId, String IP, Date time) {
if(dianjiliangDAO.queryByAId(AId, IP, time).size() != 0) {
System.out.println("该IP今天点击过了");
//表示用户已经点击过了。
return true;
} else {
System.out.println("该IP今天没有点击过");
//表示用户没有点击过
Dianjiliang djl = new Dianjiliang();
djl.setAId(AId);
djl.setIp(IP);
djl.setTime(time);
//保存记录
dianjiliangDAO.addJilu(djl);
return false;
}
} }
9.
package com.sanqing.service; import com.sanqing.po.User; public interface UserService {
//用户注册
public boolean registerUser(User user); //用户登陆
public boolean loginUser(User user);
}
10.
package com.sanqing.service; import com.sanqing.dao.UserDAO;
import com.sanqing.po.User; public class UserServiceImpl implements UserService {
private UserDAO userDAO; public boolean registerUser(User user) {
//判断用户是否存在
if(userDAO.queryByID(user.getUsername()) != null) {
return false;
}else {
userDAO.add(user);
return true;
}
} public UserDAO getUserDAO() {
return userDAO;
} public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
} public boolean loginUser(User user) {
//判断用户是否存在
if(userDAO.queryByID(user.getUsername()) == null) {
return false;
} else {
User queryUser = userDAO.queryByID(user.getUsername());
if(queryUser.getPassword().equals(user.getPassword())) {
return true;
} else {
return false;
}
}
} }
11.
JavaWeb项目开发案例精粹-第4章博客网站系统-004Service层的更多相关文章
- JavaWeb项目开发案例精粹-第4章博客网站系统-006View层
1.showAllArticle.jsp <%@ page language="java" contentType="text/html; charset=gb23 ...
- JavaWeb项目开发案例精粹-第4章博客网站系统-005action层
1. package com.sanqing.action; import java.util.Date; import java.util.Map; import com.opensymphony. ...
- JavaWeb项目开发案例精粹-第4章博客网站系统-003Dao层
1. package com.sanqing.dao; import java.util.List; import com.sanqing.fenye.Page; import com.sanqing ...
- JavaWeb项目开发案例精粹-第4章博客网站系统-002辅助类及配置文件
1. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&qu ...
- JavaWeb项目开发案例精粹-第4章博客网站系统-001设计
1. 2. 3. # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET SQL_MO ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-05Action层
0. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &quo ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件
1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
- JavaWeb项目开发案例精粹-第2章投票系统-001设计
1.项目结构 2.数据库设计 # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET ...
随机推荐
- Android Paint的使用以及方法介绍(附源码下载)
要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: se ...
- JavaScript深复制
转载:http://blog.csdn.net/wanmingtom/article/details/7988284 这原本是StackOverFlow里的一个提问,看到答案后受益良多,于是翻译一下下 ...
- fwrite ,fprintf的作用与区别
1.概念和作用 fwrite是C语言函数,指向文件写入一个数据块,写入的是 fprintf是C/C++中的一个格式化写-库函数,其作用是格式输出到一个流/文件中:原型是int fprintf( FIL ...
- Struts2中的ModelDriven机制及其运用(转)
所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象.比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public cla ...
- 将通过find命令找到的文件拷贝到一个新的目录中
将通过find命令找到的文件拷贝到一个新的目录中 有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,我通过find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录 ...
- 【转载】spring的普通类中如何取session和request对像
原文地址:http://blog.csdn.net/yousite1/article/details/7108585 首先要在web.xml增加如下代码: <listener> <l ...
- hdu 2883 kebab 网络流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2883 Almost everyone likes kebabs nowadays (Here a ke ...
- MSDN:Code First 迁移
来自:MSDN:Code First 迁移,完全照搬! 本演练将提供对实体框架中 Code First 迁移的概述.您可以完成整个演练,也可以跳至自己感兴趣的主题.主题如下: 启用迁移 生成并运行迁移 ...
- Binary Indexed Tree 分类: ACM TYPE 2014-08-29 13:08 99人阅读 评论(0) 收藏
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int n, ...
- Kali Linux 命令集
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...