• Web jsp开发学习——连接数据库,数据的增加和删除


    Web jsp开发学习——连接数据库,数据的增加和删除

    1.首先在newlist界面增加三个图表,带上事件

    newlist.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        import="java.util.*,java.text.*,com.xx17.cys.entity.*" 
        import="java.sql.*,org.apache.commons.dbcp2.*" 
        import="javax.naming.*,javax.sql.*" pageEncoding="UTF-8"%>
    <%
    //List<News> newslist = new ArrayList<News>();
        List newslist = new ArrayList();
        News news;
        /*= new News(1,"今天是星期四","gfsggfsg",201,"2019-3-13",0);
        newslist.add(news);
        news = new News(2,"又可以上web课啦!","gfsggfshgffdhg",104,"2019-3-14",0);
        newslist.add(news);
        String newstitle[]={"今天是星期四!","又可以上web课啦!","下午公休,嘿嘿!","人生啊,如此艰难!","现在是上午9点20分"};
        String newsdate[]={"2019-3-13","2019-3-14","2019-3-15","2019-3-16","2019-3-17"};
        */
        /*数据库连接池*/
        /*BasicDataSource ds = new BasicDataSource();
        String url="jdbc:mysql://localhost:3306/bookstore?user=root&password=caiyishuai";
        url += "&useUnicode=true&characterEncoding=utf8";
        ds.setDriverClassName(url);
        ds.setUsername("root");
        ds.setPassword("caiyishuai");
        ds.setMaxTotal(30);
        ds.setMinIdle(5);
        ds.setMaxWaitMillis(10000);
        ds.setRemoveAbandonedTimeout(100);
        ds.setRemoveAbandonedOnBorrow(true);
        ds.setRemoveAbandonedOnMaintenance(true);
        */
        
        /*使用静态数据库连接池*/
        Context initContext = new InitialContext();
        Context envContext = (Context)initContext.lookup("java:/comp/env");
        DataSource ds = (DataSource)envContext.lookup("jdbc/bookstore");
        
        //建立连接池连接
        Connection conn = ds.getConnection();
    
        /*Class.forName("com.mysql.jdbc.Driver");  ////驱动程序名
        String url = "jdbc:mysql://localhost:3306/bookstore"; //数据库名
        String username = "root";  //数据库用户名
        String password = "caiyishuai";  //数据库用户密码
        Connection conn = DriverManager.getConnection(url, username, password);  //连接状态*/
    
        if(conn != null){  
            out.print("数据库连接成功!");
            Statement stmt = conn.createStatement();
            //创建结果集合,集合与表的结构类似
            ResultSet rs = stmt.executeQuery("select * from t_news");
            //rs.last
            //out.println("记录数:"+rs.getRow());
            while(rs.next()){
                //System.out.println("rs"+rs);
                  news = new News(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getInt(5),rs.getString(4),1);
                  newslist.add(news);
            }
        }
    
        /*建立连接
        Connection conn = DriverManager.getConnection(url);
        创建语句环境
        Statement stmt = conn.createStatement();
        创建结果集合,集合与表的结构类似
        ResultSet rs = stmt.executeQuery("select * from t_news");
        rs.last
        out.println("记录数:"+rs.getRow());
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        com.mysql.jdbc.Driver d = new com.mysql.jdbc.Driver
        String url="jdbc:mysql://localhost:3306/bookstore?"
        +"user=root&password=caiyishuai&useUnicode=true&characterEncoding=utf8";
        List<News> newslist = new ArrayList<News>();
        News news;
        while(rs.next()){
            news = new News(1,rs.getString(1),rs.getString(2),rs.getInt(4),rs.getString(3),1);
            newslist.add(news);
        }*/
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>新闻列表</title>
    </head>
    <body>
    <link href="css/style.css" rel="stylesheet" type="text/css"/>
    <jsp:include page="head.jsp?col=1"></jsp:include>
    <div id="main" class="layout">
    <%
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日");    
        java.util.Date today = new java.util.Date();    
        out.print(formatter.format(today));  
        //out.print(today.toLocaleString()); 
        //int id =Integer.parseInt(str);
    %>
    <table width="1000" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
        <tr>
            <th>序号</th>
            <th>标题</th>
            <th>日期</th>
            <th>点击</th>
            <th></th>
        </tr>
        <% String[] color={"red","orange","yellow","green","blue","purple","pink","black","brown"};%>
        <% for(int font_size=1;font_size<7;font_size++) {%>
            <br>
            <font color="<%= color[font_size-1] %>" size="<%= font_size %>">
                智慧的帅帅,么么哒!
            </font>
        <%}
        News n;
        %>
        
        <% for(int i=0;i<newslist.size();i++){
            n=(News)newslist.get(i);%>        
            <tr>
                <td><%=i+1%></td>
                <td><a href="news.jsp?nid=<%=n.getNews_id()%>">
                <%=n.getNews_title()%></a></td>
                <td><%=n.getNews_date()%></td>
                <td><%=n.getNews_read()%></td>
                <td>
                    <a href="addnews.do?action=mod&nid=<%=n.getNews_id()%>">
                        <img src="images/mod.png" width=40 >
                    </a>
                    <a href="addnews.do?action=del&nid=<%=n.getNews_id()%>">
                        <img src="images/del.png" width=40>
                    </a>
                </td>
            </tr>    
        <%}    %>        
    </table>
        <a href="addnews.do?action=add"><img src="images/new.png" width=40 ></a>
    </div>
    <%@ include file="foot.jsp" %>
    </body>
    </html>

    2.在NewsServlet,java里写判断条件等等

    package com.xx17.cys.servlet;
    
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.xx17.cys.entity.News;
    import com.xx17.cys.javabean.NewsBean;
    
    /**
     * Servlet implementation class NewsServlet
     */
    @WebServlet("/addnews.do")
    public class NewsServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public NewsServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        protected void addNews(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            RequestDispatcher rd;
            rd = request.getRequestDispatcher("addNews.jsp");
            rd.forward(request, response);
        
        }
        
        protected void modNews(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            String nid = request.getParameter("nid");
            NewsBean nb = new NewsBean();
            News news = nb.getNewsById(nid);
            
            request.setAttribute("news", news);
            RequestDispatcher rd;
            rd = request.getRequestDispatcher("modnews.jsp");
            rd.forward(request, response);
        }
        
        protected void delNews(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            String nid = request.getParameter("nid");
            NewsBean nb = new NewsBean();
            nb.del(nid);
            
            RequestDispatcher rd;
            rd = request.getRequestDispatcher("newslist.jsp");
            rd.forward(request, response);
        }
        
        protected void getNews(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            
        }
        
        protected void insNews(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String nt = request.getParameter("ntitle");
            String nc = request.getParameter("ncontent");
            String ntop = request.getParameter("ntop");
            Date now = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String nd = sdf.format(now);
            int nr = 100;
            NewsBean nb = new NewsBean();
            nb.add(nt,nc,nd,nr,ntop);
            
            response.sendRedirect("newslist.jsp");
            /*RequestDispatcher rd;
            rd = request.getRequestDispatcher("newslist.jsp");
            rd.forward(request, response);*/
            
        }
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            String act = request.getParameter("action");
            if(act.equals("add")) {
                addNews(request, response);
            }else if(act.equals("mod")) {
                modNews(request, response);
            }else if(act.equals("del")) {
                delNews(request, response);
            }else if(act.equals("show")) {
                getNews(request, response);
            }else if(act.equals("save")) {
                insNews(request, response);
            }
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }

    3.增加新闻,点击后跳转到addNews.jsp界面 

     

    addNews.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <link href="css/style.css" rel="stylesheet" type="text/css"/>
    <jsp:include page="head.jsp?col=1"></jsp:include>
    <div style="1000px; margin:auto; heigth:500px;">
    <form action="addnews.do?action=save" method="post">
    <table width="1000" border="1" cellpadding="5">
        <tr>
            <td width="200">标题:</td>
            <td width="800"><input name="ntitle" size="80"></td>
        </tr>
        <tr>
            <td>内容:</td>
            <td><textarea name="ncontent" cols="80" rows="10"></textarea></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="checkbox" name="ntop" value="1">置顶</td>
        </tr>
        <tr>
            <td align="center" colspan="2">
            <input type="submit" value="保存">
            <input type="button" value="返回" onclick="location.href='newslist.jsp'">
            </td>
        </tr>
    </table>
    </form>
    </div>
    </body>
    <%@ include file="foot.jsp" %>
    </html>

    NewsBean.java

    package com.xx17.cys.javabean;
    
    import java.sql.ResultSet;
    
    import com.xx17.cys.entity.News;
    
    public class NewsBean {
        
        public void add(String nt, String nc, String nd, int nr, String ntop) {
            String sql = "insert into t_news(ntitle,ncontent,ndate,";
            sql += "nread,ntop) values('"+nt+"','"+nc+"','"+nd;
            sql += "',"+nr+","+ntop+")";
            System.out.println("here: "+sql);
            
            DBBean db = new DBBean();    
            db.getConnection();
            db.executeUpdata(sql);        
        }
        
        public News getNewsById(String nid) {
            News n = new News();
            String sql = "select * from t_news where nid="+nid;
            DBBean db = new DBBean();
            db.getConnection();
            
            ResultSet rs = db.executeQuery(sql);
            try {
                if(rs.next()) {
                    n.setNews_id(rs.getInt(1));
                    n.setNews_title(rs.getString(2));
                    n.setNews_content(rs.getString(3));
                    n.setNews_top(rs.getInt(6));
                }
            }catch(Exception e) {
                e.printStackTrace();
            }
            
            return n;
        }
        
        public void del(String nid) {
            String sql = "delete from t_news where nid="+nid;
            System.out.println("here: "+sql);
            
            DBBean db = new DBBean();    
            db.getConnection();
            db.executeUpdata(sql);        
        }
    
    
    }

    DBBean.java

    package com.xx17.cys.javabean;
    
    import java.sql.*;
    import javax.naming.*;
    import javax.sql.*;
    
    public final class DBBean {
    
        private Connection conn;
        private Statement stmt;
        private ResultSet rs;
        
        public DBBean() {
            
        }
        
        //建立数据库连接
        public Connection getConnection() {
            
            try {    
                /*使用静态数据库连接池*/
                Context initContext = new InitialContext();
                Context envContext = (Context)initContext.lookup("java:/comp/env");
                DataSource ds = (DataSource)envContext.lookup("jdbc/bookstore");
                //建立连接池连接
                conn = ds.getConnection();
            }catch(Exception e) {
                e.printStackTrace();
            }
            
            return conn;
        }
        
        // 提取SQL生成记录集
        public ResultSet executeQuery(String sql) {
            try {
                stmt = conn.createStatement();
                rs = stmt.executeQuery(sql);
                System.out.println("返回结果集");
            }catch(Exception e) {
                e.printStackTrace();
            }
            
            return rs;
        }
        
        // 提取SQL添加记录
        public int executeUpdata(String sql){
            int result = 0;
            
            try{
                stmt = conn.createStatement();
                System.out.println(sql);
                result = stmt.executeUpdate(sql);
            }catch(Exception e){
                e.printStackTrace();
            }
            
            return result;
            
        }
    }

    3.删除数据

  • 相关阅读:
    构建之法读后感
    开发web信息管理系统用到的相关技术
    java 动手动脑
    Java 课后作业
    Java 7 动手动脑
    java 动手动脑
    java 字符串
    java 动手动脑
    java 课后作业
    课堂实验
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270757.html
Copyright © 2020-2023  润新知