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="data:images/mod.png" width=40 >
</a>
<a href="addnews.do?action=del&nid=<%=n.getNews_id()%>">
<img src="data:images/del.png" width=40>
</a>
</td>
</tr>
<%} %>
</table>
<a href="addnews.do?action=add"><img src="data: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="width: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 jsp开发学习——连接数据库,数据的增加和删除的更多相关文章

  1. Web jsp开发学习——网上直播聊天室的简单开发

    整个界面为chat.jsp: 如果用户没有登录,就不能进行聊天. 为将发言的句子传到页面上,要设置一个<iframe></iframe>虚拟框架,将allmessage.jsp ...

  2. Web jsp开发学习——Servlet提交表单时用法

     实现提交表单以后判断输入的信息是否符合条件    若符合条件   先新建servlet  Sevlet的两种声明方式,二选一即可  再到web.xml里注册   register.jsp就是表单的界 ...

  3. Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)

    1.导包   2.找到sever里的sever.xml,配置静态数据库连接池 <Context docBase="bookstore" path="/booksto ...

  4. Web jsp开发学习——终极解决jsp中request和response中文乱码的问题(加个过滤器)

    中文乱码真的很烦人的.而且每次都要写,可麻烦了,而且有时候写了还不一定管用,所以我们可以试试过滤器 1.每个jsp头上当然要写上utf8啦 <%@ page language="jav ...

  5. Web jsp开发学习——前端后台传参方法

    一.前端传后台: 1.1表单数据的传递   前端的表单里定义名字name   后台通过名字获取输入的值         1.2页面点击了哪个按钮传递 登录注销的另一种方式   点击登录的地方设置参数 ...

  6. Web jsp开发学习——实现页面跳转和传参

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  7. Web jsp开发学习——点击菜单页面切换

      两个网页使用同一个head,在点击“首页”后,head的“首页”变成绿色,点击“新闻”后,head的“新闻”变成绿色,head的“首页”恢复原来的颜色   head.jsp <%@ page ...

  8. Web jsp开发学习——新建一个项目

    然后 index.jsp编辑   新建一个servlet             准备发布      发布

  9. Web jsp开发学习——dbcp jsp连接MySQL出现中文乱码解决

    开发过程中,通过dbcp.properties连接MySQL数据库,向数据库中插入中文字符时,出现乱码情况. 通过查阅资料,发现出现乱码的原因:MySQL数据库使用的是UTF-8编码,而dbcp.pr ...

随机推荐

  1. PXE+Kickstart实现批量化无人值守安装

    centos7下进行kickstart配置 配置kickstart时需要pxe芯片,为获取ip地址 1.先安装dhcpd服务器 yum install -y dhcpd 1-1.配置dhcp的配置文件 ...

  2. Redis04——Redis常见语法

    Redis语法 1.string select db 选择数据库(0-20) set k v 设置一个数据 set k1 v nx nx仅仅可以新建的时候进行插入数据 set k2 v xx xx仅仅 ...

  3. java线程基础巩固---线程ID,优先级

    这里学习Thread的两个比较简单的API,直接上代码: 线程ID: 那它的生成规则是?直接看源码: 那为什么目前打印是9呢?然后在jvm启动的时候就已经创建了8个线程?继续用jconsole来验证一 ...

  4. Ruby2.0后版本的debug工具: byebug

    https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md 安装: gem install byebug 使用: Rails: 直接 ...

  5. java 实现链表

    public class MyList { Entry head; class Entry { Object data; Entry next; public Entry(Object data) { ...

  6. 浅析Service Worker

    一.service worker是什么? 平常浏览器窗口中跑的页面运行的是主JavaScript线程,DOM和window全局变量都是可以访问的. Service Worker是走的另外的线程,可以理 ...

  7. php类相关知识----抽象类

    <?php //抽象类存在的目的是被继承,而不是用来被实现 abstract class wenwajiao { //抽象类中一定要有抽象方法,而且一定要被实现 abstract public ...

  8. Jmeter接口测试之用例数据分离

    之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...

  9. Https Get Post

    #region Http 访问 public string GetHttpUrl(string Url) { try { HttpWebRequest request = (HttpWebReques ...

  10. .net文件夹上传源码

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...