商品管理功能

  • 一、功能介绍
    • 1.1显示
    • 1.2商品详情
    • 1.3新增
    • 1.4修改
    • 1.5删除
  • 二、数据库语句
  • 三、项目结构
  • 四、java代码
    • 4.1Good类
    • 4.2 Charge类
    • 4.3GoodDao接口
    • 4.4GoodDaoImpl(GoodDao接口实现类)
    • 4.5GoodService接口
    • 4.6GoodServiceImpl(GoodService接口实现类)
    • 4.7BaseServlet
    • 4.8ListServlet
    • 4.9GoodServlet
    • 4.10DBUtils工具类
    • 4.11file.properties文件
  • 五、JSP代码
    • 5.1common.jsp共有的配置信息
    • 5.2index.jsp商品信息管理首页
    • 5.3details.jsp商品详情页面
    • 5.4insert.jsp添加商品页面
    • 5.5update.jsp修改商品页面
    • 5.6web.xml
  • 六、项目下载

一、功能介绍

使用JSP+Servlet实现商品管理功能,开发工具IDEA,后台为mysql数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。具体要求如下:

1.1显示

打开商品信息管理首页,以列表方式显示所有商品信息

1.2商品详情

单击商品超链接,则跳转至指定商品的商品详情页面

1.3新增

设计及实现新增商品功能

1.4修改

设计及实现修改商品功能

1.5删除

单击“删除”链接可以进行商品信息删除,弹出提示框,点击“确定”进行删除。

二、数据库语句

-- 商品管理功能--
-- 主管表 --
create TABLE charge(
chargeNum int PRIMARY KEY,
chargeName VARCHAR(100)
);INSERT into charge values (201,"赵云");
INSERT into charge values (202,"张飞");
INSERT into charge values (203,"黄忠");
SELECT * from charge
-- -- 商品信息表
CREATE TABLE goods(
goodsId int PRIMARY KEY auto_increment,
barCode int,
chargeNum int,
goodsName VARCHAR(50),
goodsPrice VARCHAR(50),
purchaseId int,
expirationDate VARCHAR(50),
FOREIGN KEY(chargeNum) references charge(chargeNum) on delete cascade on update cascade
);
-- 添加数据
insert into goods VALUES (null,902083,201,"脉动","5元",6,"一年");
insert into goods VALUES (null,902084,201,"纯牛奶","3元",4,"六个月");
insert into goods VALUES (null,902085,203,"面包","2元",3,"两个月");
insert into goods VALUES (null,902086,202,"毛巾","12元",8,"无");SELECT * from goods WHERE goodsId=902083
DELETE from goods where goodsId=902083
update goods set chargeNum =1, goodsName="1",goodsPrice="1", purchaseId=1,expirationDate="1" WHERE goodsId=902083

三、项目结构


四、java代码

4.1Good类

package com.blb.beans;
//商品类:条形码、主管工号、商品名称、商品价格、进货单号、保质时间
public class Good {private String goodsId;private String barCode;private String chargeNum;private String goodsName;private String goodsPrice;private String purchaseId;private String expirationDate;public Good() {}@Overridepublic String toString() {return "Good{" +"goodsId='" + goodsId + '\'' +", barCode='" + barCode + '\'' +", chargeNum='" + chargeNum + '\'' +", goodsName='" + goodsName + '\'' +", goodsPrice='" + goodsPrice + '\'' +", purchaseId='" + purchaseId + '\'' +", expirationDate='" + expirationDate + '\'' +'}';}public Good(String goodsId, String barCode, String chargeNum, String goodsName, String goodsPrice, String purchaseId, String expirationDate) {this.goodsId = goodsId;this.barCode = barCode;this.chargeNum = chargeNum;this.goodsName = goodsName;this.goodsPrice = goodsPrice;this.purchaseId = purchaseId;this.expirationDate = expirationDate;}public String getBarCode() {return barCode;}public void setBarCode(String barCode) {this.barCode = barCode;}public String getGoodsId() {return goodsId;}public void setGoodsId(String goodsId) {this.goodsId = goodsId;}public String getChargeNum() {return chargeNum;}public void setChargeNum(String chargeNum) {this.chargeNum = chargeNum;}public String getGoodsName() {return goodsName;}public void setGoodsName(String goodsName) {this.goodsName = goodsName;}public String getGoodsPrice() {return goodsPrice;}public void setGoodsPrice(String goodsPrice) {this.goodsPrice = goodsPrice;}public String getPurchaseId() {return purchaseId;}public void setPurchaseId(String purchaseId) {this.purchaseId = purchaseId;}public String getExpirationDate() {return expirationDate;}public void setExpirationDate(String expirationDate) {this.expirationDate = expirationDate;}
}

4.2 Charge类

package com.blb.beans;
//主管:主管工号、主管名称
public class Charge {private String chargeNum;private String chargeName;@Overridepublic String toString() {return "Charge{" +"chargeNum='" + chargeNum + '\'' +", chargeName='" + chargeName + '\'' +'}';}public Charge() {}public Charge(String chargeNum, String chargeName) {this.chargeNum = chargeNum;this.chargeName = chargeName;}public String getChargeNum() {return chargeNum;}public void setChargeNum(String chargeNum) {this.chargeNum = chargeNum;}public String getChargeName() {return chargeName;}public void setChargeName(String chargeName) {this.chargeName = chargeName;}
}

4.3GoodDao接口

package com.blb.dao;import com.blb.beans.Charge;
import com.blb.beans.Good;import java.util.List;public interface GoodDao {List<Good> list();//显示商品列表List<Charge> chargeList();//主管工号列表boolean del(String id);//删除:根据id删除商品boolean update(Good good);//修改商品信息boolean insert(Good good);//添加商品Good findGoodById(String id);//详情根据id查找商品的信息
}

4.4GoodDaoImpl(GoodDao接口实现类)

package com.blb.dao.impl;import com.blb.beans.Charge;
import com.blb.beans.Good;
import com.blb.dao.GoodDao;
import com.blb.util.DBUtils;import java.util.List;public class GoodDaoImpl implements GoodDao {@Overridepublic List<Good> list() {return DBUtils.queryAllList("SELECT * from goods ",Good.class);}@Overridepublic List<Charge> chargeList() {return DBUtils.queryAllList("SELECT * from charge",Charge.class);}@Overridepublic boolean del(String id) {return DBUtils.update("DELETE from goods where goodsId=?",id)>0;}@Overridepublic boolean update(Good good) {return DBUtils.update("update goods set barCode=?, chargeNum =?, goodsName=?,goodsPrice=?, purchaseId=?,expirationDate=? WHERE goodsId=?",good.getBarCode(),good.getChargeNum(),good.getGoodsName(),good.getGoodsPrice(),good.getPurchaseId(),good.getExpirationDate(),good.getGoodsId())>0;}@Overridepublic boolean insert(Good good) {return DBUtils.update("insert into goods VALUES (null,?,?,?,?,?,?)",good.getBarCode(),good.getChargeNum(),good.getGoodsName(),good.getGoodsPrice(),good.getPurchaseId(),good.getExpirationDate())>0;}@Overridepublic Good findGoodById(String id) {return DBUtils.queryOneToBean("SELECT * from goods WHERE goodsId=?",Good.class,id);}
}

4.5GoodService接口

package com.blb.service;import com.blb.beans.Charge;
import com.blb.beans.Good;import java.util.List;public interface GoodService {List<Good> list();//显示商品列表List<Charge> chargeList();//主管工号列表boolean del(String id);//删除:根据id删除商品boolean update(Good good);//修改商品信息boolean insert(Good good);//添加商品Good findGoodById(String id);//详情根据id查找商品的信息
}

4.6GoodServiceImpl(GoodService接口实现类)

package com.blb.service.impl;import com.blb.beans.Charge;
import com.blb.beans.Good;
import com.blb.dao.GoodDao;
import com.blb.dao.impl.GoodDaoImpl;
import com.blb.service.GoodService;import java.util.List;public class GoodServiceImpl implements GoodService {private GoodDao goodDao=new GoodDaoImpl();@Overridepublic List<Good> list() {return goodDao.list();}@Overridepublic List<Charge> chargeList() {return goodDao.chargeList();}@Overridepublic boolean del(String id) {return goodDao.del(id);}@Overridepublic boolean update(Good good) {return goodDao.update(good);}@Overridepublic boolean insert(Good good) {return goodDao.insert(good);}@Overridepublic Good findGoodById(String id) {return goodDao.findGoodById(id);}
}

4.7BaseServlet

package com.blb.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;public class BaseServlet extends HttpServlet {@Override//service可以写公用的属性、方法protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {try {//设置请求和响应,发往服务器的参数的编码格式req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");//拿浏览器传入的方法参数String m = req.getParameter("m");//获取当前对象的class,方法。并调用方法Class clazz = this.getClass();System.out.println("当前进入的servlet:"+clazz+"当前调用的方法"+m);Method method = clazz.getDeclaredMethod(m, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this,req,resp);}catch (Exception e){e.printStackTrace();}}//请求转发public void dispatcher(String url,HttpServletRequest req, HttpServletResponse res){try {req.getRequestDispatcher(url).forward(req,res);}catch (Exception e){e.printStackTrace();}}//重定向public void redirect(String url,HttpServletRequest req, HttpServletResponse res){try{res.sendRedirect(req.getContextPath()+url);}catch (Exception e){e.printStackTrace();}}}

4.8ListServlet

package com.blb.servlet;import com.blb.beans.Good;
import com.blb.service.GoodService;
import com.blb.service.impl.GoodServiceImpl;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 java.io.IOException;
import java.util.List;@WebServlet("/ListServlet")
public class ListServlet extends HttpServlet {//创建good的服务对象private GoodService goodService=new GoodServiceImpl();//调用list方法,查找所有商品并存入list集合,请求转发到index.jsp页面显示商品信息@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {List<Good> list = goodService.list();req.setAttribute("list",list);req.getRequestDispatcher("/index.jsp").forward(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}

4.9GoodServlet

package com.blb.servlet;import com.blb.beans.Charge;
import com.blb.beans.Good;
import com.blb.service.GoodService;
import com.blb.service.impl.GoodServiceImpl;import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;@WebServlet("/GoodServlet")
public class GoodServlet extends BaseServlet {//创建商品的服务对象private GoodService goodService=new GoodServiceImpl();//添加:调用chargeList方法,获取主管工号的数据列表并存入集合,请求转发到insert.jsp页面public void insertPage (HttpServletRequest req, HttpServletResponse resp)  {List<Charge> charges = goodService.chargeList();req.setAttribute("chargeList",charges);dispatcher("/insert.jsp",req,resp);}//将用户输入的数据存入good对象并调用insert方法,把数据加入数据库,最后,重新获取数据库数据返回首页。public void insert (HttpServletRequest req, HttpServletResponse resp)  {String barCode = req.getParameter("barCode");String chargeNum = req.getParameter("chargeNum");String goodsName = req.getParameter("goodsName");String goodsPrice = req.getParameter("goodsPrice");String purchaseId = req.getParameter("purchaseId");String expirationDate = req.getParameter("expirationDate");Good good = new Good(null,barCode, chargeNum, goodsName, goodsPrice, purchaseId, expirationDate);boolean result = goodService.insert(good);dispatcher("/ListServlet",req,resp);}//修改:调用findGoodById方法,获取当前修改商品的信息并存入集合,请求转发到update.jsp页面public void updatePage (HttpServletRequest req, HttpServletResponse resp)  {String goodsId = req.getParameter("id");Good good = goodService.findGoodById(goodsId);req.setAttribute("good",good);List<Charge> charges = goodService.chargeList();req.setAttribute("chargeList",charges);dispatcher("/update.jsp",req,resp);}//将用户输入的数据存入good对象并调用update方法,把数据库中的当前商品的数据进行修改,最后,重新获取数据库数据返回首页。public void update (HttpServletRequest req, HttpServletResponse resp) {String goodsId = req.getParameter("goodsId");String barCode = req.getParameter("barCode");String chargeNum = req.getParameter("chargeNum");String goodsName = req.getParameter("goodsName");String goodsPrice = req.getParameter("goodsPrice");String purchaseId = req.getParameter("purchaseId");String expirationDate = req.getParameter("expirationDate");Good good = new Good(goodsId,barCode, chargeNum, goodsName, goodsPrice, purchaseId, expirationDate);boolean result = goodService.update(good);dispatcher("/ListServlet",req,resp);}//删除:根据商品的id进行删除,最后,重新获取数据库数据返回首页。public void delete (HttpServletRequest req, HttpServletResponse resp)  {String id = req.getParameter("id");boolean del = goodService.del(id);dispatcher("/ListServlet",req,resp);}//详情:调用findGoodById方法,获取当前修改商品的信息并存入集合,请求转发到details.jsp页面public void details (HttpServletRequest req, HttpServletResponse resp)  {String id = req.getParameter("id");Good good = goodService.findGoodById(id);req.setAttribute("good",good);dispatcher("/details.jsp",req,resp);}}

4.10DBUtils工具类

package com.blb.util;import com.alibaba.druid.pool.DruidDataSource;
import org.apache.commons.dbutils.BasicRowProcessor;
import org.apache.commons.dbutils.GenerousBeanProcessor;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;import java.io.File;
import java.io.FileInputStream;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Properties;public class DBUtils {//    要连接的驱动类型private static String DRIVER = null;//要连接的URLprivate static String URL = null;//  要连接的数据库的用户名private static String USER = null;//    要连接的数据库的密码private static String PWD = null;private static QueryRunner runner ;static {//建立连接器File f = new File("D:\\ commercialinformationmanagementsystem\\src\\com\\blb\\file.properties");Properties p = new Properties();FileInputStream fis = null;try {fis = new FileInputStream(f);p.load(fis);DRIVER = p.getProperty("DRIVER");URL = p.getProperty("URL");USER = p.getProperty("USER");PWD = p.getProperty("PWD");fis.close();} catch (Exception e) {e.printStackTrace();}//连接数据库DruidDataSource ds = new DruidDataSource();ds.setUrl(URL);ds.setUsername(USER);ds.setPassword(PWD);ds.setDriverClassName(DRIVER);runner = new QueryRunner(ds);}/*** 进行新增、修改、删除操作* @param sql  进行操作的SQL语句* @param param 操作对应的参数,替代SQL中的占位符* @return SQL执行后受影响的行*/public static int update(String sql ,Object... param ){try {return runner.update(sql, param);} catch (SQLException e) {e.printStackTrace();}return 0 ;}/*** 查询1个对象封装成Bean对象* @param sql 进行操作的SQL语句* @param clazz 结果封装的Bean类型* @param param 操作对应的参数,替代SQL中的占位符* @return SQL操作后的Bean对象,如果异常则返回null*/public static<T> T queryOneToBean(String sql, Class<T> clazz,Object... param  ){try {BasicRowProcessor brp = new BasicRowProcessor(new GenerousBeanProcessor());return runner.query(sql, new BeanHandler<T>(clazz,brp),param);} catch (SQLException e) {e.printStackTrace();}return null;}/*** 查询只有1行结果的操作,结果封装成Map* @param sql 进行操作的SQL语句* @param param 操作对应的参数,替代SQL中的占位符* @return SQL操作后的1行内容封装到Map中,如果异常则返回null*/public static Map<String,Object> queryOneToMap(String sql, Object... param  ){try {return  runner.query(sql,new MapHandler(),param);} catch (SQLException e) {e.printStackTrace();}return null;}/*** 有多行结果的查询操作,结果封装成List,元素为bean类型* @param sql sql 进行操作的SQL语句* @param clazz 结果封装的Bean类型* @param param 操作对应的参数,替代SQL中的占位符* @return SQL操作后的多行内容封装到List中,如果异常则返回null*/public static<T> List<T> queryAllList(String sql, Class<T> clazz,Object... param ){try {BasicRowProcessor brp = new BasicRowProcessor(new GenerousBeanProcessor());return runner.query(sql, new BeanListHandler<T>(clazz,brp),param);} catch (SQLException e) {e.printStackTrace();}return null;}/*** 查询有多行结果的操作,结果封装成List中,元素为map类型* @param sql 进行操作的SQL语句* @param param 操作对应的参数,替代SQL中的占位符* @return SQL操作后的多行内容封装到List中,如果异常则返回null*/public static List<Map<String,Object>> queryAllMap(String sql, Object... param ){try {return runner.query(sql,new MapListHandler(),param );} catch (SQLException e) {e.printStackTrace();}return null;}}

4.11file.properties文件

DRIVER = com.mysql.jdbc.Driver
URL = jdbc:mysql://127.0.0.1:3306/decemberexamination?useUnicode=true&characterEncoding=UTF-8
USER = root
PWD = root

五、JSP代码

5.1common.jsp共有的配置信息

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");
%>

5.2index.jsp商品信息管理首页

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/common/common.jsp"%>
<html><head><title>商品信息管理首页</title></head><style>#add{display: block;text-align: center;}</style><body><table align="center" border="1" ><tr align="center"><td>条形码</td><td>主管工号</td><td>商品名称</td><td>商品价格</td><td>进货单号</td><td>保质时间</td><td>编辑</td></tr><c:forEach items="${list}" var="good"><tr align="center"><td>${good.barCode}</td><td>${good.chargeNum}</td><td><a href="${path}/GoodServlet?m=details&id=${good.goodsId}">${good.goodsName}</a> </td><td>${good.goodsPrice}</td><td>${good.purchaseId}</td><td>${good.expirationDate}</td><td><a href="${path}/GoodServlet?m=updatePage&id=${good.goodsId}">修改</a> &nbsp;<a href="javascript:void(0)" onclick="confirmDel(${good.goodsId})">删除</a> </td></tr></c:forEach></table><a id="add" href="${path}/GoodServlet?m=insertPage">添加商品</a><script type="text/javascript">function confirmDel(param){if(window.confirm("确定删除?")){document.location="${path}/GoodServlet?m=delete&id="+param}}</script></body>
</html>

5.3details.jsp商品详情页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/common/common.jsp"%>
<html>
<head><title>商品详情</title>
</head>
<body>
<table border="1" align="center"><tr><td>条形码</td><td>${good.barCode}</td></tr><tr><td>主管工号</td><td>${good.chargeNum}</td></tr><tr><td>商品名称</td><td>${good.goodsName}</td></tr><tr><td>商品价格</td><td>${good.goodsPrice}</td></tr><tr><td>进货单号</td><td>${good.purchaseId}</td></tr><tr><td>保质时间</td><td>${good.expirationDate}</td></tr><tr><td colspan="2"><a href="${path}/ListServlet">返回</a> </td></tr>
</table>
</body>
</html>

5.4insert.jsp添加商品页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/common/common.jsp"%>
<html>
<head><title>新增商品</title>
</head>
<body><form action="${path}/GoodServlet?m=insert" method="post" align="center"><h3>添加商品</h3>条形码 <input type="text" name="barCode"><br />主管工号 <select name="chargeNum"><option>请选择主管工号</option><c:forEach items="${chargeList}" var="charge"><option value="${charge.chargeNum}">${charge.chargeNum}</option></c:forEach>
</select> <br />商品名称<input type="text" name="goodsName"><br />商品价格 <input type="text"name="goodsPrice"> <br />进货单号 <input type="text"name="purchaseId"> <br />保质期 <input type="text" name="expirationDate"> <br /><input type="submit"></form>
</body>
</html>

5.5update.jsp修改商品页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/common/common.jsp"%>
<html>
<head><title>修改商品</title>
</head>
<body>
<form action="${path}/GoodServlet?m=update" method="post" align="center"><input type="hidden"name="goodsId" value="${good.goodsId}">条形码 <input type="text" name="barCode" value="${good.barCode}"><br />主管工号 <select name="chargeNum" value="${good.chargeNum}"><option>${good.chargeNum}</option><c:forEach items="${chargeList}" var="charge"><option>${charge.chargeNum}</option></c:forEach>
</select> <br />商品名称<input type="text" name="goodsName" value="${good.goodsName}"><br />商品价格 <input type="text"name="goodsPrice" value="${good.goodsPrice}"> <br />进货单号 <input type="text"name="purchaseId" value="${good.purchaseId}"> <br />保质期 <input type="text" name="expirationDate" value="${good.expirationDate}"> <br /><input type="submit"></form>
</body>
</html>

5.6web.xml


配置welcome-file-list是为了去ListServlet拿商品信息的数据。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
<welcome-file-list><welcome-file>ListServlet</welcome-file>
</welcome-file-list>
</web-app>

六、项目下载

JAVAWEB使用JSP+Servlet实现商品管理功能,后台为数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。

JAVAWEB使用JSP+Servlet实现商品管理功能,后台为数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。相关推荐

  1. JavaWeb基于Jsp+Servlet的动物领养网站(原创毕业设计项目)

     项目类型:JAVA WEB项目 项目名称:JavaWeb基于Jsp+Servlet的动物领养网站 用户类型:双角色(管理员+爱心人士) 设计模式:Jsp+Servlet 开发工具:Eclipse  ...

  2. 仿朋友圈功能 后台关系型数据库设计构想

    仿朋友圈功能 后台关系型数据库设计构想 我不知道微信后台咋设计的,纯粹为了解决自己的实际问题想的,做个记录给自己看. 数据存储分为三个部分: 分享记录存储 Share表 分享用户对应权限Share_u ...

  3. javaweb基于JSP+Servlet开发药店(私人诊所)管理系统设计与实现源码+论文 +视频讲解 毕业设计

    基于JSP+Servlet开发私人诊所(药店)管理系统设计与实现+论文:(毕业设计/课程设计) 开发工具: MyEclipse+Jdk+Tomcat+SQLServer数据库 运行效果图 基于JSP+ ...

  4. JSP/Servlet构建三层管理信息系统

    管理信息系统(MIS)是一个由人.计算机等组成的能进行信息的收集.传递.存储.加工和使用的系统.随着科技的发展,信息的膨胀,企业信息化成了企业在竞争中处于不败地位的有效手段之一.而MIS不仅能够及时全 ...

  5. javaweb基于JSP+Servlet开发水费管理系统+论文 大作业 毕业设计

    基于JSP+Servlet开发水费管理系统+论文(大作业/毕业设计) 开发环境:   Windows操作系统 开发工具:MyEclipse+Jdk+Tomcat+SQLServer数据库 运行效果图: ...

  6. javaweb基于JSP+Servlet开发大数据与应用专业企业门户网站源码 课程设计 大作业

    基于JSP+Servlet开发大数据与应用专业企业门户网站:(大作业/课程设计) 开发环境: Windows操作系统 开发工具: Eclipse+Jdk+Tomcat+MYSQL数据库 运行效果图: ...

  7. javaweb基于JSP+Servlet开发红(白)酒购物商城系统(前台+后台 防伪码查询)毕业设计源码

    基于JSP+Servlet开发红(白)酒购物商城系统(前台+后台 防伪码查询)(大作业/毕业设计) 开发环境:   Windows操作系统 开发工具:MyEclipse+Jdk+Tomcat+MYSQ ...

  8. Jsp+Servlet+JavaBean实现最基本的注册登陆功能

    Jsp+Servlet+JavaBean是MVC思想,Jsp=V(视图) Servlet=C(控制器) JavaBean=M(模型) 一.创建一个注册页面和登陆页面(V层) <html> ...

  9. javaweb基于JSP+Servlet房地产客户关系管理系统(CRM) 大作业 课程设计 毕业设计

    基于JSP+Servlet房地产客户关系管理系统(CRM)(毕业设计/大作业): 开发环境: Windows操作系统 开发工具: MyEclipse+Jdk+Tomcat6+Mysql数据库 运行效果 ...

最新文章

  1. 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口调试...
  2. visio 模板_盒图模板一键套用,便捷绘制精美盒图图表
  3. SAPPHIRE NOW阿里云 - 国内传播
  4. 高薪Java工程师必看的书籍
  5. [CF893F]Subtree Minimum Query
  6. docker 封装sql_docker封装mysql镜像
  7. maven打包插件:maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin详解
  8. 云图说 | 云上资源管控有神器!关于IAM,你想知道的都在这里!
  9. 16元日薪,从阿里云雇佣一个专家阿里云中小企业AI产品码栈解析
  10. Python 汇率换算
  11. ExtJs4(3)——带搜索和操作按钮的表
  12. 连接到手机热点显示无法解析服务器,Win10连接到手机热点却无法上网的解决方法...
  13. ssh 工具 socket 10106 连接不上
  14. Linux下四款Web服务器压力测试工具…
  15. 共享单车APP开发文档
  16. 飘逸的python - 实现控制台进度条效果
  17. 第二个c程序,日语208音练习
  18. 领域驱动设计实践框架-COLA的解读
  19. 无准考证号的四六级查询
  20. [VTK] Python 使用 VTK 绘制平面

热门文章

  1. Android Studio启动虚拟机时一直提示安装Haxm
  2. Android 7.0真实上手体验
  3. 关于最优控制的一些总结1
  4. 数据科学 6 参数估计与统计推断(概念)
  5. 回撤率 python 平台_详解如何使用python计算一只股票的最大回撤率?
  6. .net中,日志组件 Nlog,SerialLog, Log4Net的用法
  7. 成员信息管理系统c语言,《C语言工会成员信息管理系统》.doc
  8. 计算机辅助设计的教学大纲,天正《计算机辅助设计》课程教学大纲
  9. numpy .npz文件处理
  10. 前端基础-黑马视频开始学习-1