导入包---实体类------数据库连接----数据库操作----service层数据操作----网页对service层可视化实现
model
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.model; public class article { private int id; private String title; private String content; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
dao
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.dao; import java.sql.DriverManager; import com.mysql.jdbc.Connection; public class DbConn { private static String username="root"; private static String password="123456"; private static String url="jdbc:mysql://localhost:3306/articles?useUnicode=true&characterEncoding=UTF-8"; private static Connection conn=null; public static Connection getConnection(){ if(conn==null){ try { Class.forName("com.mysql.jdbc.Driver"); conn=(Connection) DriverManager.getConnection(url, username, password); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } return conn; } //test connection public static void main(String[] args) { DbConn db=new DbConn(); System.out.println(db.toString()); } }
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.dao; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import com.ij34.model.article; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; public class ArticleDao { public List<article> getfindAll(){ //查All,返回list List<article> list=new ArrayList<article>(); String sql="select * from article"; Connection conn=DbConn.getConnection(); try { PreparedStatement pstm=(PreparedStatement) conn.prepareStatement(sql); ResultSet rs=pstm.executeQuery(); while(rs.next()){ article art=new article(); art.setId(rs.getInt("id")); art.setTitle(rs.getString("title")); art.setContent(rs.getString("content")); list.add(art); } rs.close(); pstm.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return list; } public boolean addArticle(article art){ //增 String sql="insert into article(title,content)values(?,?)"; Connection conn=DbConn.getConnection(); try { PreparedStatement pstm=(PreparedStatement) conn.prepareStatement(sql); pstm.setString(1, art.getTitle()); pstm.setString(2, art.getContent()); int count=pstm.executeUpdate(); pstm.close(); if(count>0) return true; else return false; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return false; } public boolean updateArticle(article art){ //修改 String sql="update article set title=?,content=? where id=?"; Connection conn=DbConn.getConnection(); try { PreparedStatement pstm=(PreparedStatement) conn.prepareStatement(sql); pstm.setString(1, art.getTitle()); pstm.setString(2, art.getContent()); pstm.setInt(3, art.getId()); int count=pstm.executeUpdate(); pstm.close(); if(count>0) return true; else return false; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return false; } public boolean deleteArticle(int id){ //删除,根据id String sql="delete from article where id=?"; //String sql="delete from article where id='"+id+"'"; Connection conn=DbConn.getConnection(); try { PreparedStatement pstm=(PreparedStatement) conn.prepareStatement(sql); pstm.setInt(1, id); int count=pstm.executeUpdate(); pstm.close(); if(count>0) return true; else return false; } catch (Exception e) { e.printStackTrace(); } return false; } public article selectById(int id){//根据id查找 String sql="select * from article where id="+id; Connection conn=DbConn.getConnection(); article art=null; try { PreparedStatement pstm=(PreparedStatement) conn.prepareStatement(sql); ResultSet rs=pstm.executeQuery(); while(rs.next()){ art=new article(); art.setId(rs.getInt("id")); art.setTitle(rs.getString("title")); art.setContent(rs.getString("content")); } rs.close(); pstm.close(); } catch (Exception e) { e.printStackTrace(); } return art; } }
service
add
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.service; 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.ij34.dao.ArticleDao; import com.ij34.model.article; public class addArticle extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub article art=new article(); String title=req.getParameter("title"); String content=req.getParameter("content"); art.setTitle(new String(title.getBytes("ISO-8859-1"),"UTF-8")); art.setContent(new String(content.getBytes("ISO-8859-1"),"UTF-8")); ArticleDao ad=new ArticleDao(); ad.addArticle(art); req.getRequestDispatcher("showArticle").forward(req, resp); } }
del
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.service; 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.ij34.dao.ArticleDao; public class deleteArticle extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub String idStr=req.getParameter("id"); if(idStr!=null&&!idStr.equals("")){ int id=Integer.valueOf(idStr); ArticleDao ad=new ArticleDao(); ad.deleteArticle(id); } req.getRequestDispatcher("showArticle").forward(req, resp); } }
find
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.service; 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.ij34.dao.ArticleDao; import com.ij34.model.article; public class showArticle extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub ArticleDao ad=new ArticleDao(); List<article> list=ad.getfindAll(); req.setAttribute("list", list); req.getRequestDispatcher("show.jsp").forward(req, resp); } }
update
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
package com.ij34.service; 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.ij34.dao.ArticleDao; import com.ij34.model.article; public class updateArticle extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub String idStr=req.getParameter("id"); if(idStr!=null&&!idStr.equals("")){ ArticleDao ad=new ArticleDao(); int id=Integer.valueOf(idStr); article art=ad.selectById(id); req.setAttribute("article", art); } req.getRequestDispatcher("update.jsp").forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub article art=new article(); String idStr=req.getParameter("id"); String title=req.getParameter("title"); String content=req.getParameter("content"); art.setId(Integer.valueOf(idStr)); art.setTitle(new String(title.getBytes("ISO-8859-1"),"UTF-8")); art.setContent(new String(content.getBytes("ISO-8859-1"),"UTF-8")); ArticleDao ad=new ArticleDao(); ad.updateArticle(art); req.getRequestDispatcher("showArticle").forward(req, resp); } }
web.xml
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Articles</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>addArticle</servlet-name> <servlet-class>com.ij34.service.addArticle</servlet-class> </servlet> <servlet-mapping> <servlet-name>addArticle</servlet-name> <url-pattern>/addArticle</url-pattern> </servlet-mapping> <servlet> <servlet-name>deleteArticle</servlet-name> <servlet-class>com.ij34.service.deleteArticle</servlet-class> </servlet> <servlet-mapping> <servlet-name>deleteArticle</servlet-name> <url-pattern>/deleteArticle</url-pattern> </servlet-mapping> <servlet> <servlet-name>showArticle</servlet-name> <servlet-class>com.ij34.service.showArticle</servlet-class> </servlet> <servlet-mapping> <servlet-name>showArticle</servlet-name> <url-pattern>/showArticle</url-pattern> </servlet-mapping> <servlet> <servlet-name>updateArticle</servlet-name> <servlet-class>com.ij34.service.updateArticle</servlet-class> </servlet> <servlet-mapping> <servlet-name>updateArticle</servlet-name> <url-pattern>/updateArticle</url-pattern> </servlet-mapping> </web-app>
网页
index
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <jsp:forward page="showArticle"/> //要写doget
add
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添 加</title> </head> <body> <form action="addArticle" method="post"> <table align="center"> <tr> <td colspan="2"><center><h4>添加</h4></center></td> </tr> <tr> <td>标 题:</td><td><input type="text" name="title"/></td> </tr> <tr> <td>内 容:</td><td><input type="text" name="content"/></td> </tr> <tr> <td><input type="submit" value="提 交"/></td><td><input type="reset" value="重 置"/></td> </tr> </table> </form> </body> </html>
update
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>修 改</title> </head> <body> <form action="updateArticle" method="post"> <table align="center"> <tr> <td colspan="2"><center><h4>修 改</h4></center></td> </tr> <tr> <td>编 号:</td><td><input type="text" name="id" value="${article.id }" readonly="readonly"/></td> </tr> <tr> <td>标 题:</td><td><input type="text" name="title" value="${article.title }"/></td> </tr> <tr> <td>内 容:</td><td><input type="text" name="content" value="${article.content }"></td> </tr> <tr> <td><input type="submit" value="提 交"/></td><td><input type="button" value="返回" onclick="history.go(-1)"/></td> </tr> </table> </form> </body> </html>
show
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>显示</title> </head> <body> <form action="showArticle" method="post"> <table align="center"> <tr> <th>编 号 </th> <th>标 题 </th> <th> 内 容 </th> <th> 操 作 </th> </tr> <c:forEach var="li" items="${list}"> <tr> <td>${li.id} </td> <td> ${li.title} </td> <td> ${li.content} </td> <td><a href="deleteArticle?id=${li.id}">删除</a>|<a href="updateArticle?id=${li.id}">修改</a></td> </tr> </c:forEach> <tr> <td align="center"><a href="add.jsp"> 添 加 </a></td> </tr> </table> </form> </body> </html>
结果