新闻管理系统 注册登录增删改查

BaseDao.java

package com.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.sun.jndi.url.corbaname.corbanameURLContextFactory;

public class BaseDao {
    private static final String driver = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql:///admin?characterEncoding=utf-8";
    private static final String user = "root";
    private static final String password = "root";
    
    static{
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    
    public static Connection getConn(){
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        return conn;
        
    }
    public static void close(Connection conn,PreparedStatement ps,ResultSet rs){
        try {
            if(null != rs)
                rs.close();
            if(null != ps)
                ps.close();
            if(null != conn)
                conn.close();
            } catch (SQLException e) {    
                e.printStackTrace();
            }
        
    }

}


Admin.java

package com.bean;

public class Admin {
    private Integer adminId;
    private String adminName;
    private String adminPwd;
    public Integer getAdminId() {
        return adminId;
    }
    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }
    public String getAdminName() {
        return adminName;
    }
    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }
    public String getAdminPwd() {
        return adminPwd;
    }
    public void setAdminPwd(String adminPwd) {
        this.adminPwd = adminPwd;
    }
    @Override
    public String toString() {
        return "Admin [adminId=" + adminId + ", adminname=" + adminName
                + ", adminPwd=" + adminPwd + "]";
    }
    public Admin(Integer adminId, String adminName, String adminPwd) {
        super();
        this.adminId = adminId;
        this.adminName = adminName;
        this.adminPwd = adminPwd;
    }
    public Admin() {
        super();
    }

}
 

News.java

package com.bean;

public class News {
    private Integer newsId;
    private String newsTitle;
    private String newsContent;
    private String newsImage;
    private String newsCreateTime;
    private String newsModifyTime;
    public Integer getNewsId() {
        return newsId;
    }
    public void setNewsId(Integer newsId) {
        this.newsId = newsId;
    }
    public String getNewsTitle() {
        return newsTitle;
    }
    public void setNewsTitle(String newsTitle) {
        this.newsTitle = newsTitle;
    }
    public String getNewsContent() {
        return newsContent;
    }
    public void setNewsContent(String newsContent) {
        this.newsContent = newsContent;
    }
    public String getNewsImage() {
        return newsImage;
    }
    public void setNewsImage(String newsImage) {
        this.newsImage = newsImage;
    }
    public String getNewsCreateTime() {
        return newsCreateTime;
    }
    public void setNewsCreateTime(String newsCreateTime) {
        this.newsCreateTime = newsCreateTime;
    }
    public String getNewsModifyTime() {
        return newsModifyTime;
    }
    public void setNewsModifyTime(String newsModifyTime) {
        this.newsModifyTime = newsModifyTime;
    }
    @Override
    public String toString() {
        return "News [newsId=" + newsId + ", newsTitle=" + newsTitle
                + ", newsContent=" + newsContent + ", newsImage=" + newsImage
                + ", newsCreateTime=" + newsCreateTime + ", newsModifyTime="
                + newsModifyTime + "]";
    }
    public News(Integer newsId, String newsTitle, String newsContent,
            String newsImage, String newsCreateTime, String newsModifyTime) {
        super();
        this.newsId = newsId;
        this.newsTitle = newsTitle;
        this.newsContent = newsContent;
        this.newsImage = newsImage;
        this.newsCreateTime = newsCreateTime;
        this.newsModifyTime = newsModifyTime;
    }
    public News() {
        super();
    }


}

IAdminDao.java

package com.dao;

import com.bean.Admin;

public interface IAdminDao {

    Admin login(Admin admin);

    int insert(Admin admin);

}
INewsDao.java

package com.dao;

import java.util.List;

import com.bean.News;

public interface INewsDao {

    List<News> getNewsList();

    int delete(String newsId);

    News getById(String newsId);

    int update(News news);

}


AdminDaoImpl.java

package com.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.bean.Admin;
import com.dao.IAdminDao;
import com.utils.BaseDao;

public class AdminDaoImpl implements IAdminDao {
    //验证登录的方法
    
  Admin adminNew = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
    @Override
    public Admin login(Admin admin) {
        Connection conn = BaseDao.getConn();
        String sql = "select * from admin where admin_name = ? and admin_pwd = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setObject(1, admin.getAdminName());
            ps.setObject(2, admin.getAdminPwd());
            rs = ps.executeQuery();
            //循环取值
            while(rs.next()){
                adminNew = new Admin(rs.getInt(1),rs.getString(2),rs.getString(3));
                
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, rs);
        }
        return adminNew;
    }//注册添加的方法
    @Override
    public int insert(Admin admin) {
        Connection conn = BaseDao.getConn();
        PreparedStatement ps = null;
        int i = 0 ;
        String sql = "insert into admin values(null,?,?)";
        try {
            ps = conn.prepareStatement(sql);
            ps.setObject(1, admin.getAdminName());
            ps.setObject(2, admin.getAdminPwd());
            i = ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, null);
        }
        return i;
    }

}

NewsDaoImpl.java

package com.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.bean.News;
import com.dao.INewsDao;
import com.utils.BaseDao;

public class NewsDaoImpl implements INewsDao{
//新闻列表的查询
    PreparedStatement ps = null;
    ResultSet rs = null;
    @Override
    public List<News> getNewsList() {
        List<News> list = new ArrayList<News>();
        Connection conn = BaseDao.getConn();
        String sql= "select * from news";
        try {
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            while(rs.next()){
                News news = new News(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
                list.add(news);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, rs);
        }
        return list;
    }
    //新闻删除方法
    @Override
    public int delete(String newsId) {
        PreparedStatement ps = null;
        int i = 0;
        Connection conn = BaseDao.getConn();
        String sql = "delete from news where news_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1, Integer.parseInt(newsId));
            i = ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, null);
        }
        
        return i;
    }//根据新闻编号查询新闻信息
    @Override
    public News getById(String newsId) {
        PreparedStatement ps = null;
        ResultSet rs = null;
        News news = null;
        Connection conn = BaseDao.getConn();
        String sql = "select * from news where news_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1, Integer.parseInt(newsId));
            rs = ps.executeQuery();
            while(rs.next()){
                news = new News(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6));
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, rs);
        }
        
        return news;
      }
    //修改的方法
    @Override
    public int update(News news) {
        PreparedStatement ps = null;
        int i = 0;
        Connection conn = BaseDao.getConn();
        String sql = "update news set news_title = ?,news_content = ?,news_image = ?,news_modify_time = NOW() where news_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setObject(1, news.getNewsTitle());
            ps.setObject(2, news.getNewsContent());
            ps.setObject(3, news.getNewsImage());
            ps.setObject(4, news.getNewsId());
            i = ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            BaseDao.close(conn, ps, null);
        }
        return i;
    }
    }


DeleteServlet.java

package com.servlet;


import java.io.IOException;
//删除的servlet
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dao.INewsDao;
import com.dao.impl.NewsDaoImpl;

public class DeleteServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException { 
        INewsDao dao = new NewsDaoImpl();
        String newsId = request.getParameter("newsId");
 
       //调用dao删除
        int i = dao.delete(newsId);
        //判断
        if(i>0){
            request.getRequestDispatcher("GetNewsList").forward(request, response);
        }
    }

}
 

GetByIdServlet.java

package com.servlet;
//回显的servlet

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bean.News;
import com.dao.INewsDao;
import com.dao.impl.NewsDaoImpl;

public class GetByIdServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
  
     //过滤编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        INewsDao dao = new NewsDaoImpl();
        String newsId = request.getParameter("newsId");
    
    //调用dao层修改方法,根据id获取数据
        News news = dao.getById(newsId);
     
   //把查询到的对象放在作用域中
        request.setAttribute("news", news);
    
    //页面跳转,回显新闻信息
        request.getRequestDispatcher("update.jsp").forward(request, response);
        
    }

}
 

GetNewsList.java

package com.servlet;

//获取新闻列表的servlet
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bean.News;
import com.dao.INewsDao;
import com.dao.impl.NewsDaoImpl;

public class GetNewsList extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //过滤编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        INewsDao dao = new NewsDaoImpl();

        //调用新闻的dao层
        List<News> newslist = dao.getNewsList();
        //列表放在请求域中
        request.setAttribute("newsList", newslist);
        //页面跳转展示信息
        request.getRequestDispatcher("list.jsp").forward(request, response);
        
    }

}
 

LoginServlet.java

package com.servlet;

//登陆功能的servlet
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.bean.Admin;
import com.dao.IAdminDao;
import com.dao.impl.AdminDaoImpl;

public class LoginServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        IAdminDao dao = new AdminDaoImpl();
        
//过滤编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
     
   //获取数据
        String adminName = request.getParameter("adminName");
        String adminPwd = request.getParameter("adminPwd");
 
       //获取数据后封装到实体类
        Admin admin = new Admin();
        admin.setAdminName(adminName);
        admin.setAdminPwd(adminPwd);

        //调用dao层实现方法,验证登录
        Admin adminNew = dao.login(admin);
  
     //判断返回值是否为空
        if(null != adminNew){
          
 //登陆成功
            //用户名保存到session
          
 //1、获取session
            HttpSession session = request.getSession();
          
 //2、用户名保存在session作用域
            session.setAttribute("adminName",adminNew.getAdminName());
            request.getRequestDispatcher("GetNewsList").forward(request, response);
        }
        

    }

}
 

RegServlet.java

package com.servlet;

//注册功能的servlet
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bean.Admin;
import com.dao.IAdminDao;
import com.dao.impl.AdminDaoImpl;

public class RegServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        IAdminDao dao = new AdminDaoImpl();
      
 //过滤编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
  
     //获取数据
        String adminName = request.getParameter("adminName");
        String adminPwd = request.getParameter("adminPwd");
    
    //获取数据后封装到实体类
        Admin admin = new Admin();
        admin.setAdminName(adminName);
        admin.setAdminPwd(adminPwd);
    
    //调用dao层添加方法
        int i = dao.insert(admin);
        //判断
        if(i>0){
    
        //成功
            response.sendRedirect("login.jsp");
        }else{
            request.setAttribute("mag", "注册失败!");
            request.getRequestDispatcher("reg.jsp").forward(request, response);
            
        }

    }

}
 

UpdateServlet.java

package com.servlet;

//修改的servlet
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bean.News;
import com.dao.INewsDao;
import com.dao.impl.NewsDaoImpl;

public class UpdateServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //过滤编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        
        INewsDao dao = new NewsDaoImpl();
    
    //接收数据
        String newsId = request.getParameter("newsId");
        String newsTitle = request.getParameter("newsTitle");
        String newsContent = request.getParameter("newsContent");
        String newsImage = request.getParameter("newsImage");
    
    //封装存放
        News news = new News();
        news.setNewsId(Integer.parseInt(newsId));
        news.setNewsTitle(newsTitle);
        news.setNewsContent(newsContent);
        news.setNewsImage(newsImage);
        

        //调用dao层方法
        int i = dao.update(news);
     
   //成功后跳转页面
        if(i>0){
            request.getRequestDispatcher("GetNewsList").forward(request, response);
        }
}
}

list.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'list.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
 
<table>
  <tr>
  <td colspan="10"><h1>欢迎${adminName}登陆</h1></td>
  </tr>
  <tr>
  <td>编号</td>
  <td>标题</td>
  <td>内容</td>
  <td>图片</td>
  <td>创建时间</td>
  <td>修改时间</td>
  <td>操作</td>
  </tr>
  <!-- C标签循环  items指定循环列 -->   
  <c:forEach items="${newsList}" var="l">
    <tr>
  <td>${l.newsId}</td>
  <td>${l.newsTitle}</td>
  <td>${l.newsContent}</td>
  <td>${l.newsImage}</td>

  <td>${l.newsCreateTime}</td>
  <td>${l.newsModifyTime}</td>
  <td><a href="DeleteServlet?newsId=${l.newsId}">删除</a></td>
  <td><a href="GetByIdServlet?newsId=${l.newsId}">修改</a></td>
  </tr>
  </c:forEach>
  </table>

  </body>
</html>

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'login.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
   
<form action="LoginServlet" method="post">
    用户名:<input name="adminName"><br>
    密码:<input name="adminPwd"><br>
    <input type="submit" value="登陆">
    <a href="reg.jsp"><input type="button" value="注册"></a>
    </form>

  </body>
</html>

reg.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'reg.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
   
<form action="RegServlet" method="post">
     用户名:<input name="adminName"><br>
     密码:<input name="adminPwd"><br>
    <input type="submit" value="注册">
    </form>

  </body>
</html>

update.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'update.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>

    <form action="UpdateServlet" method="post">
    新闻编号:<input name="newsId" value="${news.newsId}"><br>
    新闻标题:<input name="newsTitle" value="${news.newsTitle}"><br>
    新闻内容:<input name="newsContent" value="${news.newsContent}"><br>
    新闻图片:<input name="newsImage" value="${news.newsImage}"><br>
  <input type="submit" value="修改">
    
    </form>

  </body>
</html>

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值