java web 期末考试 简单的网页开发 进行增删改查操作 |
您所在的位置:网站首页 › 玩天涯明月刀手游电脑需要什么配置 › java web 期末考试 简单的网页开发 进行增删改查操作 |
文章目录
eclipse项目创建目录一、设计mysql数据库二、代码1.dao层2.entity类3.service层4.servlet层5.util方法6.c3p0-config.xml7.jsp文件
三、运行结果四、补充
eclipse项目创建目录
PS:注意文件的位置 一、设计mysql数据库 数据库名和表名PhoneDao: package cn.dao; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import cn.entity.Phone; import cn.util.C3p0Utils; public class PhoneDao { QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); // 获取所有数据 public List findPhone() throws SQLException { String sql = "select * from phone"; List phones = runner.query(sql, new BeanListHandler(Phone.class)); return phones; } // 增加数据 public int adddataPhone(Phone phone) throws SQLException { String sql = "insert into phone (id,sjname,sjprice) values(?,?,?)"; int row = runner.update(sql, phone.getId(), phone.getSjname(), phone.getSjprice()); return row; } // 删除数据,通过id public int deletePhoneById(int id) throws SQLException { String sql = "delete from phone where id = ?"; int row = runner.update(sql, id); return row; } // 修改数据,通过id public int updatePhone(Phone phone) throws SQLException { String sql = "update phone set sjname = ?,sjprice = ? where id=?"; int row = runner.update(sql, phone.getSjname(), phone.getSjprice(), phone.getId()); return row; } // 查询商品,通过id public Phone findPhoneById(int id) throws SQLException { String sql = "select * from phone where id = ?"; Phone phone = runner.query(sql, new BeanHandler(Phone.class), id); return phone; } }UserDao package cn.dao; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import cn.util.C3p0Utils; import cn.dao.*; import cn.entity.User; public class UserDao { public User findUandUpsw(String username, String password) throws SQLException { QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); String sql = "select * from user where username = ? and password = ?"; User user = runner.query(sql, new BeanHandler(User.class), username, password); return user; } } 2.entity类Phone package cn.entity; public class Phone { private int id; private String sjname; private String sjprice; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getSjname() { return sjname; } public void setSjname(String sjname) { this.sjname = sjname; } public String getSjprice() { return sjprice; } public void setSjprice(String sjprice) { this.sjprice = sjprice; } }User package cn.entity; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 3.service层BothService package cn.service; import java.sql.SQLException; import java.util.List; import cn.dao.PhoneDao; import cn.dao.UserDao; import cn.entity.Phone; import cn.entity.User; public class BothService { UserDao userDao = new UserDao(); PhoneDao phoneDao = new PhoneDao(); public User login(String username, String password) throws SQLException { return userDao.findUandUpsw(username, password); } public List findPhone() throws SQLException { return phoneDao.findPhone(); } public int add(Phone phone) throws SQLException { return phoneDao.adddataPhone(phone); } public int deletePhoneById(int id) throws SQLException { return phoneDao.deletePhoneById(id); } public int updatePhone(Phone phone) throws SQLException { return phoneDao.updatePhone(phone); } public Phone findPhoneById(int id) throws SQLException { return phoneDao.findPhoneById(id); } } 4.servlet层AddServlet package cn.servlet; import java.io.IOException; 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.sun.org.apache.bcel.internal.generic.I2D; import cn.entity.Phone; import cn.service.BothService; @WebServlet("/AddServlet") public class AddServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); int id = Integer.parseInt(request.getParameter("id")); Phone phone = new Phone(); phone.setId(id); phone.setSjname(request.getParameter("sjname")); phone.setSjprice(request.getParameter("sjprice")); BothService service = new BothService(); try { Phone num = service.findPhoneById(id); if (num != null) { response.sendRedirect("error.jsp"); } int row = service.add(phone); if (row != 0) { response.sendRedirect("FindAllServlet"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }DeleteServet package cn.servlet; import java.io.IOException; 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 cn.service.BothService; /** * Servlet implementation class DeletePhoneByIdServlet */ @WebServlet("/DeleteServlet") public class DeleteServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); BothService service = new BothService(); int id = Integer.parseInt(request.getParameter("id")); try { int row = service.deletePhoneById(id); if (row != 0) { response.sendRedirect("FindAllServlet"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }FindAllServlet package cn.servlet; import java.io.IOException; import java.util.List; import javax.security.auth.message.callback.PrivateKeyCallback.Request; 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 cn.entity.Phone; import cn.service.BothService; @WebServlet("/FindAllServlet") public class FindAllServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- BothService service = new BothService(); try { List phones = service.findPhone(); if (phones != null) { request.getSession().setAttribute("list", phones); response.sendRedirect("show.jsp"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }FindOneServlet package cn.servlet; import java.io.IOException; import java.util.List; 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 cn.entity.Phone; import cn.service.BothService; @WebServlet("/FindOneServlet") public class FindOneServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- BothService service = new BothService(); int id = Integer.parseInt(request.getParameter("id")); try { Phone phone = service.findPhoneById(id); if (phone != null) { request.getSession().setAttribute("phone", phone); response.sendRedirect("one.jsp"); } else { response.sendRedirect("error.jsp"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }LoginServlet package cn.servlet; import java.io.IOException; 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 cn.entity.User; import cn.service.BothService; @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- request.setCharacterEncoding("utf-8"); response.setContentType("text/html;chatset=utf-8"); BothService service = new BothService(); String username = request.getParameter("username"); String password = request.getParameter("password"); try { User user = service.login(username, password); if (user != null) { response.sendRedirect("FindAllServlet"); } else { System.out.println("登录失败"); response.sendRedirect("login.jsp"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }UpdateServlet package cn.servlet; import java.io.IOException; 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 cn.entity.Phone; import cn.entity.User; import cn.service.BothService; /** * Servlet implementation class UpdatePhoneServlet */ @WebServlet("/UpdateServlet") public class UpdateServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //------------------------------------------------------------------- BothService service = new BothService(); Phone phone = new Phone(); int id = Integer.parseInt(request.getParameter("id")); phone.setId(id); phone.setSjname(request.getParameter("sjname")); phone.setSjprice(request.getParameter("sjprice")); try { int row = service.updatePhone(phone); if (row != 0) { response.sendRedirect("FindAllServlet"); } } catch (Exception e) { e.printStackTrace(); } //------------------------------------------------------------------- } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } 5.util方法C3p0Utils.java package cn.util; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0Utils { private static DataSource ds; static { ds = new ComboPooledDataSource(); } public static DataSource getDataSource() { return ds; } } 6.c3p0-config.xml com.mysql.cj.jdbc.Driver jdbc:mysql:///zxc?3useUnicode=true;characterEncoding=utf8;serverTimezone=UTC;useSSL=false root 123456注意:该xml名称是固定的,其他的名字会报错 7.jsp文件add.jsp DOCTYPE html> Insert title here 编号: 品牌: 价格:error.jsp DOCTYPE html> Insert title here 你的操作不规范且我没写此功能! 以下功能没有完善: 1、增加的编号已经存在 2、查询id不存在 还有其他报错功能没转到此页面,是因为我懒得写了login.jsp DOCTYPE html> Insert title here 账号: 密码:one.jsp DOCTYPE html> Insert title here 编号 手机 价格 ${phone.id } ${phone.sjname } ${phone.sjprice } 返回主界面show.jsp DOCTYPE > Insert title here 编号 名称 价格 操作 ${sj.id } ${sj.sjname } ${sj.sjprice } 删除 修改update.jsp DOCTYPE html> Insert title here 修改信息 品牌: 价格: 三、运行结果 登录界面1、jar包资源 链接:https://share.weiyun.com/d73F11NW 密码:b5fxe2 2、我的配置 JDK :1.8.0_202 mysql :mysql-connector-java-8.0.12 tomcat :apache-tomcat-9.0.29 eclipse:eclipse-jee-2020-06-R-win32-x86_64 3、注意事项 不能运行,一般都是mysql的连接的问题,mysql8.0以上不稳定或者需要配置很多东西,建议用mysql5.7的吧,遇到运行失败的问题不要着急,上网搜搜错误的地方,我的mysql搞了两三天都弄不好,很耽误时间,还是需要耐心。其他的错误,应该就是我们的配置不一样的问题了,还有导包要导对地方(bin目录下右键要进行Build Path)。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |