博客系统

开发工具  idea    MySql

用户表

1.系统登陆

实体类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

public class UserInfo {

     private Integer userCode;

     private String userName;

     private String userPwd;

     private Date lastLoginTime;

     private boolean isUse;

     //alt+insert

    public Integer getUserCode() {

        return userCode;

    }

    public void setUserCode(Integer userCode) {

        this.userCode = userCode;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public String getUserPwd() {

        return userPwd;

    }

    public void setUserPwd(String userPwd) {

        this.userPwd = userPwd;

    }

    public Date getLastLoginTime() {

        return lastLoginTime;

    }

    public void setLastLoginTime(Date lastLoginTime) {

        this.lastLoginTime = lastLoginTime;

    }

    public boolean isUse() {

        return isUse;

    }

    public void setUse(boolean use) {

        isUse = use;

    }

}

 

 BaseDao


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

package cn.blog.dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

/**

 * 数据访问工具类

 * @version 1.1

 * @author happy

 *

 */

public class BaseDao {

    // 01. 基础内容的准备

    private static final String driver="com.mysql.jdbc.Driver";

    private static final String url="jdbc:mysql:///blog";

    private static final String username="root";

    private static final String pwd="root";

    //02, 接口对象的准备

    Connection con=null;

    PreparedStatement ps=null;

    public ResultSet rs=null;

    /**

     * 01.写一个用户获取到一个连接对象的方法,方法的返回值是Connection类型

     * @return   连接对象

     * @throws Exception

     */

    public Connection getConnection() throws Exception{

        Class.forName(driver);

        //什么条件下,构建connection对象

        if (con==null||con.isClosed()) {

            con=DriverManager.getConnection(url, username, pwd);

        }

        //同志们碰到一个

        return con;

    }

    /**

     * 执行查询操作  目的:返回一个读取器

     * @param sql  sql语句

     * @param objs  参数列表

     * @return     读取器对象

     * @throws Exception

     */

    public ResultSet  executeQuery(String sql,Object... objs) throws Exception{

        con=getConnection();

        ps = con.prepareStatement(sql);

        for (int i = 0; i < objs.length; i++) {

            ps.setObject(i+1, objs[i]);

        }

        rs= ps.executeQuery();

        return rs;

    }

    /**

     * 执行增删该操作

     * @param sql  sql语句

     * @param objs  参数列表

     * @return     受影响行数

     * @throws Exception

     */

    public int executeUpdate(String sql,Object... objs) throws Exception{

        con=getConnection();

        ps = con.prepareStatement(sql);

        for (int i = 0; i < objs.length; i++) {

            ps.setObject(i+1, objs[i]);

        }

        int count = ps.executeUpdate();

        return count;

    }

    /**

     * 回收连接资源

     * @throws Exception

     */

    public void closeAll() throws Exception{

        //倒着回收

        if(rs!=null){

            rs.close();

        }

        if (ps!=null) {

            ps.close();

        }

        if(con!=null){

            con.close();

        }

    }

}

  dao层impl实现


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

package cn.blog.dao.iimpl;

import cn.blog.dao.BaseDao;

import cn.blog.dao.IUserInfoDAO;

import cn.blog.entity.UserInfo;

import org.junit.Test;

import java.sql.ResultSet;

/**

 * Created by Happy on 2017-06-30.

 */

public class UserInfoDAOImpl extends BaseDao implements IUserInfoDAO {

    @Test

   public void testIsLogin(){

       UserInfo info=new UserInfo();

       info.setUserCode(11);

       info.setUserPwd("123");

       try {

           boolean flag = isLogin(info);

           System.out.println(flag);

       catch (Exception e) {

           e.printStackTrace();

       }

   }

    public boolean isLogin(UserInfo info) throws Exception {

        boolean flag=false;

        //根据用户名和密码查看复合条件的记录有几条》》》》》》》》》》》》》》

        String  sql="select count(1) as UserCode from userInfo where UserCode=? and UserPwd=?";

        Object[] paras={info.getUserCode(),info.getUserPwd()};

        ResultSet rs = executeQuery(sql, paras);

        if (rs.next()){

            if (rs.getInt("UserCode")>0){

                flag=true;

            }

        }

        return flag;

    }

}

  selvlet层


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

package cn.blog.servlet;

import cn.blog.dao.IUserInfoDAO;

import cn.blog.dao.iimpl.UserInfoDAOImpl;

import cn.blog.entity.UserInfo;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

/**

 * Created by Happy on 2017-06-30.

 */

public class UserInfoServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //write code here please ,oK?

        //使用dao实现类

        IUserInfoDAO dao=new UserInfoDAOImpl();

        String userCode=request.getParameter("userCode");

        String userPwd=request.getParameter("userPwd");

        UserInfo info=new UserInfo();

        System.out.println(userCode+"===================");

        info.setUserCode(Integer.parseInt(userCode));

        info.setUserPwd(userPwd);

        try {

            boolean flag = dao.isLogin(info);

            if (flag){

                request.getRequestDispatcher("/BlogHtTemplate-master/html/main.html").forward(request,response);

            }else{

                response.sendRedirect("/BlogHtTemplate-master/html/index.html");

            }

        catch (Exception e) {

            e.printStackTrace();

        }

        //  dao.isLogin();

        //跳转

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request,response);

    }

}

  实现效果

开发工具  idea    MySql

用户表

1.系统登陆

实体类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

public class UserInfo {

     private Integer userCode;

     private String userName;

     private String userPwd;

     private Date lastLoginTime;

     private boolean isUse;

     //alt+insert

    public Integer getUserCode() {

        return userCode;

    }

    public void setUserCode(Integer userCode) {

        this.userCode = userCode;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public String getUserPwd() {

        return userPwd;

    }

    public void setUserPwd(String userPwd) {

        this.userPwd = userPwd;

    }

    public Date getLastLoginTime() {

        return lastLoginTime;

    }

    public void setLastLoginTime(Date lastLoginTime) {

        this.lastLoginTime = lastLoginTime;

    }

    public boolean isUse() {

        return isUse;

    }

    public void setUse(boolean use) {

        isUse = use;

    }

}

  BaseDao


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

package cn.blog.dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

/**

 * 数据访问工具类

 * @version 1.1

 * @author happy

 *

 */

public class BaseDao {

    // 01. 基础内容的准备

    private static final String driver="com.mysql.jdbc.Driver";

    private static final String url="jdbc:mysql:///wk";

    private static final String username="root";

    private static final String pwd="";

    //02, 接口对象的准备

    Connection con=null;

    PreparedStatement ps=null;

    public ResultSet rs=null;

    /**

     * 01.写一个用户获取到一个连接对象的方法,方法的返回值是Connection类型

     * @return   连接对象

     * @throws Exception

     */

    public Connection getConnection() throws Exception{

        Class.forName(driver);

        //什么条件下,构建connection对象

        if (con==null||con.isClosed()) {

            con=DriverManager.getConnection(url, username, pwd);

        }

        //同志们碰到一个

        return con;

    }

    /**

     * 执行查询操作  目的:返回一个读取器

     * @param sql  sql语句

     * @param objs  参数列表

     * @return     读取器对象

     * @throws Exception

     */

    public ResultSet  executeQuery(String sql,Object... objs) throws Exception{

        con=getConnection();

        ps = con.prepareStatement(sql);

        for (int i = 0; i < objs.length; i++) {

            ps.setObject(i+1, objs[i]);

        }

        rs= ps.executeQuery();

        return rs;

    }

    /**

     * 执行增删该操作

     * @param sql  sql语句

     * @param objs  参数列表

     * @return     受影响行数

     * @throws Exception

     */

    public int executeUpdate(String sql,Object... objs) throws Exception{

        con=getConnection();

        ps = con.prepareStatement(sql);

        for (int i = 0; i < objs.length; i++) {

            ps.setObject(i+1, objs[i]);

        }

        int count = ps.executeUpdate();

        return count;

    }

    /**

     * 回收连接资源

     * @throws Exception

     */

    public void closeAll() throws Exception{

        //倒着回收

        if(rs!=null){

            rs.close();

        }

        if (ps!=null) {

            ps.close();

        }

        if(con!=null){

            con.close();

        }

    }

}

  dao层impl实现


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

package cn.blog.dao.iimpl;

import cn.blog.dao.BaseDao;

import cn.blog.dao.IUserInfoDAO;

import cn.blog.entity.UserInfo;

import org.junit.Test;

import java.sql.ResultSet;

/**

 * Created by Happy on 2017-06-30.

 */

public class UserInfoDAOImpl extends BaseDao implements IUserInfoDAO {

    @Test

   public void testIsLogin(){

       UserInfo info=new UserInfo();

       info.setUserCode(11);

       info.setUserPwd("123");

       try {

           boolean flag = isLogin(info);

           System.out.println(flag);

       catch (Exception e) {

           e.printStackTrace();

       }

   }

    public boolean isLogin(UserInfo info) throws Exception {

        boolean flag=false;

        //根据用户名和密码查看复合条件的记录有几条》》》》》》》》》》》》》》

        String  sql="select count(1) as UserCode from userInfo where UserCode=? and UserPwd=?";

        Object[] paras={info.getUserCode(),info.getUserPwd()};

        ResultSet rs = executeQuery(sql, paras);

        if (rs.next()){

            if (rs.getInt("UserCode")>0){

                flag=true;

            }

        }

        return flag;

    }

}

  selvlet层


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

package cn.blog.servlet;

import cn.blog.dao.IUserInfoDAO;

import cn.blog.dao.iimpl.UserInfoDAOImpl;

import cn.blog.entity.UserInfo;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

/**

 * Created by Happy on 2017-06-30.

 */

public class UserInfoServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //write code here please ,oK?

        //使用dao实现类

        IUserInfoDAO dao=new UserInfoDAOImpl();

        String userCode=request.getParameter("userCode");

        String userPwd=request.getParameter("userPwd");

        UserInfo info=new UserInfo();

        System.out.println(userCode+"===================");

        info.setUserCode(Integer.parseInt(userCode));

        info.setUserPwd(userPwd);

        try {

            boolean flag = dao.isLogin(info);

            if (flag){

                request.getRequestDispatcher("/BlogHtTemplate-master/html/main.html").forward(request,response);

            }else{

                response.sendRedirect("/BlogHtTemplate-master/html/index.html");

            }

        catch (Exception e) {

            e.printStackTrace();

        }

        //  dao.isLogin();

        //跳转

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request,response);

    }

}

  实现效果

时间: 2024-10-06 21:02:02

博客系统的相关文章

基于CrossApp引擎和ghost博客系统的APP

技多不压身,即使没有用,也能装个逼. 开发这款APP,其实并不是给别人用的,更多的是给自己用.一直以来都是为APP开发数据接口,对APP开发并不了解,只知道业务需求需要什么数据,我提供什么接口来调取数据.如果止步如此,对技术的提升是没有帮助的. APP并不难,但也不简单,这款APP从学习CrossApp引擎到APP完成,总花掉了12天时间.并且还未对android适配调整,不过我也不打算适配了.android虚拟机实在太卡,还时不时的不响应(人生哲学:自身的发展,受限于当时环境影响). Cros

MYCNCART博客系统

MYCNCART博客系统 特色: 1. 博客分类模组: 2. 标签模组: 3. 最新博客文章模组: 4. 归档模组: 5. 检索模块: 6. 不同模版,可以显示1列,2列,3列等: 临时演示网址: 博客系统 后续增加功能: 视频文章,如播放土豆网,优酷网视频等:

在CentOS 6.7部署wordpress博客系统Discuz论坛系统

在CentOS 6.7部署wordpress博客系统Discuz论坛系统 服务器操作系统:CentOS6.7 博客部署服务器:Httpd-2.2 后台语言:PHP 数据库:MySql 前端框架:WordPress 1.首先安装需要的软件 yum -y install mysql-server httpd phpphp-mysql 2.启动mysql以及httpd服务 service mysqld start service httpd start 3.创建虚拟主机 4.测试 PHP 和Httpd

02-大鸭梨博客系统数据库设计及Dapper的使用

毫无疑问,数据库的设计在一个系统中起了至关重要的作用.我们都知道,系统设计分为两部分,或者说是两个阶段,即数据库设计和功能设计.构建一个完善的系统需要这两个阶段的充分考量.周密设计.合理联接以及密切配合.数据库设计是整个系统的根基,它关乎系统功能的实现.稳定性.扩展性等多个方面,可见数据库设计的重要性. 那么好的数据库设计应该具备什么样的基本条件呢,大致有这么几点: 1.充分体现系统的需求 不管是数据库设计还是功能设计,我们最终的目的都是要实现客户的业务需求,所以数据库设计的第一准则就是要符合业

01-大鸭梨博客系统前期准备

哈喽,大家晚上好,今天是2017年3月6日,距离VS2017正式版发布还有一天,哦不对,是两天.是在北京时间的3月8日凌晨,期待中... 革命尚未成功,学习还需继续! 做开发的人都知道,这一行真的是不断的在学习,当然行行如此吧,不能以偏概全,可是作为程序猿真的是深有体会,没办法技术更新太快,隔三差五就会有新技术产生,你不去研究,那你就比别人落下一大截,所以一定要常怀一颗学习之心,活到老,学到老.今天貌似程序猿界又出事了,滴滴的一个程序猿倒下了,四川的一家科技公司老板把员工给打了,这都是什么世道,

一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

原文地址: http://www.cnblogs.com/daxnet/p/6139317.html 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些与编程和开发相关的文章.从入行到现在,我至始至终乐于与网友分享自己的所学所得,希望会有更多的同我一样的业内朋友能够在事业上取得成功,也算是为我们的软件事业贡献自己的一份力量吧,这也是我在博客园建博客

【ASP.NET实战教程】基于ASP.NET技术下多用户博客系统全程实战开发(NNblog)

岁末主推:牛牛老师主讲,多用户博客系统,基于ASP.NET技术,年后将带来移动业务平台项目项目目标: 打造个性品牌Blogo,定制多用户博客 为每一个博客用户提供个性化的 blogo解决方案,打造精品blogo门户网站  环境:VS2008+SQL Server2005 [小编推荐:现在学习可以使用 VS2012或者以上+SQL 2008或及以上  环境不一定必须和教程一样,学习的是思路]主要技术: 主体框架:逻辑架构ASP.NET MVC,物理架构Three Ties,2者相结合. 为了提高网

从入门到放弃,.net构建博客系统(二):依赖注入

文章目录:<从入门到放弃,.net构建博客系统> 从入门到放弃,.net构建博客系统(一):系统构建 从入门到放弃,.net构建博客系统(二):依赖注入 上一篇中有讲到项目启动时会进行ioc的依赖注入,但具体是怎么注入的呢?我们先一步步往下走 一.注册autofac配置 首先bootstraper会进行初始化,接着将当前mvc控制器工厂改为AutofacControllerFactory. 1 public class AutofacConfig 2 { 3 /// <summary&g

项目实战(连载):基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)

本章主要讲什么(一句话)? <项目实战:基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(4)> -- 基于Node的Express项目环境框架搭建 一.前言 从本节开始,我们将正式[多用户博客系统]的项目开发工作.首先我们先从后台Node部分开始做起,一步步带领大家完成整个博客系统的开发. 本篇将主要帮助大家把Node环境下的Express框架搭建起来,后继后台将会在这个框架上进行扩展与业务逻辑开发. 二.项目环境 Node.js: v 6.x Express: v

使用ASP.NET MVC+Entity Framework快速搭建博客系统

学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和分享. 首先,得确定需求,木有需求的话,那还搞个毛线呀!嗯--大致思考了一下,终于得出如下需求: 1.能自定义分类 2.能发文章 OK!就这样,先从简单的开始(其实是复杂的不会做),后面有需要再添加(希望水平能达到).功能确定了,那么改确定要做成什么样子的了.先和度娘商量一下先-- 终于在我的淫威之下,度娘交出了一个比较简洁的,源网站在这里(表示感谢),被小弟阉割了之后效果如下图: 接下来就开始编码了么?嗯