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 ...
随机推荐
- 字符串比较 忽略大小写 iphone
//不考虑大小写比较字符串1 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"Th ...
- jquery ajax 传递js对象到后台
第一种:通过struts接收 (function ($) { $("#btnsave").click(function () { var params = {}; params[& ...
- pxe+preseed安装配置
Ubuntu Server 部署手册 pxe+tftp+vsftp+apache2 ========================================================== ...
- 如何不通过系统升级来安装window10正式版?(特别针对Xp用户)
今天是个特殊的日子7/29,相信大家都等了很久了吧,win10正式版终于上线,一些不懂电脑的人只会通过360和腾讯管家等来升级到win10(XP用户除外),而对于大多数像我这样对系统比较热衷的人,我相 ...
- pm2 开机自动运行
pm2 start app.js -i max -name 可以运行的用户 env PATH=$PATH:/usr/bin pm2 startup -u 可以运行的用户 ubuntu/centos
- Leetcode#106 Construct Binary Tree from Inorder and Postorder Traversal
原题地址 二叉树基本操作 [ ]O[ ] [ ][ ]O 代码: TreeNode *restore(vector<i ...
- ```````````````辐射度 Radiometry
solid angel --立体角 单位 sr 球面度 dω就是对solid angel的微分 4π代表一个球 我发现dω就是对半径为1的球的表面积的微分 所以4π代表一个球 这就是球的表面积.. ...
- 集合类 Collection
1.Collection接口有两个子接口: List:保存元素顺序的线性表,允许有重复元素. Set:不记录元素的保存顺序,不允许有重复元素.数学中的集合 Collection接口中的方法如下: Co ...
- APM终端用户体验监控分析(下)
一.前言 [APM 终端用户体验监控分析(上)][1]从 APM 终端用户产品特性.使用建议.以及从[真实用户体验][2]和[模拟性能监控][3]两方面入手给大家进行了简单的分享. 本文为下篇,将给大 ...
- 直面Javascript面试题算法思路
一.字符串遍历类 1.获取符合条件的字符 思路:一般使用正则表达式会比遍历字符串简单.a=str.match(reg),a即为所得. 例子:a.判断字符串是否是这样组成的,第一个必须是字母,后面可以是 ...