java mvc增删改查_java MVC 实现增删改查

本文介绍了如何使用Java MVC框架实现图书管理系统的增删改查功能。通过AddServlet类处理HTTP请求,ProductDao类完成数据持久化,Product类封装图书信息,DBUtil类进行数据库连接管理。当图书添加成功时,重定向到'ok.jsp',否则重定向到'error.jsp'页面。
摘要由CSDN通过智能技术生成

展开全部

AddServlet类实现了servlet控制器的功能62616964757a686964616fe58685e5aeb931333337626165,但你这里只有一个add功能并不能体现控制器需要其他功能了就使用request对象获取请求资源路径针对不同的路径找到不同的Servelt实现控制器功能即MVC中的C;

package servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class AddServlet extends HttpServlet{

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

req.setCharacterEncoding("utf-8");

resp.setCharacterEncoding("utf-8");

String name = req.getParameter("name");

String description = req.getParameter("description");

String baseprice = req.getParameter("baseprice");

String writer = req.getParameter("writer");

String publish = req.getParameter("publish");

String pages = req.getParameter("pages");

String images = req.getParameter("images");

String stock = req.getParameter("stock");

Product p=new Product();

ProductDao Dao = new ProductDao();

p.setName(name);

p.setDescription(description);

p.setBaseprice(baseprice);

p.setWriter(writer);

p.setPublish(publish);

p.setPages(pages);

p.setImages(images);

p.setStock(stock);

int result = 0;

try {

result = Dao.save(p);

} catch (Exception e) {

e.printStackTrace();

}

resp.setContentType("text/html");

if(result == 1){

resp.sendRedirect("ok.jsp");

}else{

resp.sendRedirect("error.jsp");

}

}

}

ProductDao类实现了使用对象想数据库中添加记录的功能;

实现了MVC中的M模型

package servlet;

import java.sql.Connection;

import java.sql.PreparedStatement;

public class ProductDao {

public int save(Product p) throws Exception{

Connection conn = null;

PreparedStatement prep = null;

try {

conn = DBUtil.getConnection();

String sql = "insert into product values(0,?,?,?,?,?,?,?,?)";

prep = conn.prepareStatement(sql);

prep.setObject(1, p.getName());

prep.setObject(2, p.getDescription());

prep.setObject(3, p.getBaseprice());

prep.setObject(4, p.getWriter());

prep.setObject(5, p.getPublish());

prep.setObject(6, p.getPages());

prep.setObject(7, p.getImages());

prep.setObject(8, p.getStock());

int num=prep.executeUpdate();

return num;

} catch (Exception e1) {

e1.printStackTrace();

throw e1;

}finally{

DBUtil.close(conn);

}

}

}

Product类根据数据库的字段声明类的属性根据表名命名类名;

package servlet;

public class Product {

private Object name;

private Object description;

private Object baseprice;

private Object writer;

private Object publish;

private Object pages;

private Object images;

private Object stock;

public Object getName() {

return name;

}

public void setName(Object name) {

this.name = name;

}

public Object getDescription() {

return description;

}

public void setDescription(Object description) {

this.description = description;

}

public Object getBaseprice() {

return baseprice;

}

public void setBaseprice(Object baseprice) {

this.baseprice = baseprice;

}

public Object getWriter() {

return writer;

}

public void setWriter(Object writer) {

this.writer = writer;

}

public Object getPublish() {

return publish;

}

public void setPublish(Object publish) {

this.publish = publish;

}

public Object getPages() {

return pages;

}

public void setPages(Object pages) {

this.pages = pages;

}

public Object getImages() {

return images;

}

public void setImages(Object images) {

this.images = images;

}

public Object getStock() {

return stock;

}

public void setStock(Object stock) {

this.stock = stock;

}

}

DBUtil类封装的是对数据库的连接:

package servlet;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/**

* JDBC工具类:

* 提供了获得连接,关闭连接的相关的方法。

*

*/

public class DBUtil {

private static String url="jdbc:mysql://localhost:3306/ecport";

public static Connection getConnection() throws Exception{

Connection conn = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.

getConnection(url,"root", "");

} catch (Exception e) {

e.printStackTrace();

throw e;

}

return conn;

}

public static void close(Connection conn){

if(conn != null){

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

Connection conn =

getConnection();

System.out.println(conn);

}

}

最后是MVC中的视图,实现的shiMVC中的V视图,在AddServlet中根据不同的结果受用重定向跳转到指定的页面中,表明是否添加成功。

成功页面:

contentType="text/html;charset=utf-8" %>

恭喜你,新增图书成功!!!

失败页面:

contentType="text/html;charset=utf-8" %>

新增失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值