JavaWeb+MySQL+MVC三层架构实现课程管理系统

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void add(HttpServletRequest req, HttpServletResponse resp) {

try {

List categoryList = categoryService.queryList();

req.setAttribute(“categoryList”, categoryList);

req.getRequestDispatcher(“/WEB-INF/add.jsp”)

.forward(req, resp);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void edit(HttpServletRequest req, HttpServletResponse resp) {

try {

String id = req.getParameter(“id”);

Course course = courseService.getById(id);

List categoryList = categoryService.queryList();

req.setAttribute(“categoryList”, categoryList);

req.setAttribute(“course”, course);

req.getRequestDispatcher(“/WEB-INF/edit.jsp”)

.forward(req, resp);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

FileUploadUtils

文件工具上传类,该类封装了上传文件方法

public class FileUploadUtils extends HttpServlet{

/**

  • @param basePath 用户指定的上传目录

  • @return 返回上传之后的文件名称

  • @throws FileUploadException

*/

public static String upload(String basePath,HttpServletRequest req) throws Exception{

//1. 先上传文件,并返回上传的文件名称,便于将来通过名字找到该文件

DiskFileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload fileUpload = new ServletFileUpload(factory);

//将request请求的内容解析成List集合 {input[type=file],input[type=text],}

List list = fileUpload.parseRequest(req);

String dbpath = “”;

for(FileItem item:list){

if(item.isFormField()){

//普通的文本框:

String fieldName = item.getFieldName(); //获取字段名 username\route_id

String fieldValue = item.getString(“UTF-8”);//获取字段值 张三丰

req.setAttribute(fieldName, fieldValue);

}else{

//文件上传框

//1. 获取文件输入流

InputStream input = item.getInputStream();

if(input.available() > 0){

//2. 获取文件输出流

//String basePath = “D:/uploads/”;

//确定目标文件名

String destFileName = UUID.randomUUID().toString().replace(“-”, “”);

//确定目标文件后缀:.png .jpg .gif

String originName = item.getName();

String suffix = originName.substring(originName.lastIndexOf(“.”));

//保存到数据库中的相对路径

dbpath = destFileName+suffix;

//如果当前文件的父级目录不存在,则创建

File destFile = new File(basePath+dbpath);

if(!destFile.getParentFile().isDirectory()){

destFile.getParentFile().mkdirs();

}

//创建文件输出流

FileOutputStream output = new FileOutputStream(destFile);

//3. 开始读写(上传、拷贝)

byte[] arr = new byte[1024];

int res = 0;

while( (res = input.read(arr)) > 0){

output.write(arr, 0, res);

}

//关闭资源

input.close();

output.close();

}

}

}

return dbpath; // 返回文件名称

}

}

前端部分代码

list.jsp

<%@ page language=“java” contentType=“text/html; charset=UTF-8”

pageEncoding=“UTF-8”%>

<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

<%

request.setAttribute(“APP_PATH”, request.getContextPath());

%>

Document

课程列表

请选择

<c:forEach items=“${categoryList }” var=“cat”>

</c:forEach>

-

添加课程

课程序号 课程名称 分类名称 总课时 课程价格 课程封面 购买数量 观看数量 状态 操作

<c:forEach items=“${pager.courseList }” var=“course”>

${course.id }

${course.course_name }

${course.cat_name }

${course.lesson_nums }

${course.price }

${course.buy_count }

${course.view_count }

<c:if test=“${course.status == 0 }”>已下架</c:if>

<c:if test=“${course.status == 1 }”>已上架</c:if>

修改 

删除

</c:forEach>

    上一页

    <c:forEach begin=“1” end=“${pager.pageCount }” var=“i”>

    ${i}

    </c:forEach>

    下一页

    p a g e r . t o t a l 条记录,分 {pager.total}条记录,分 pager.total条记录,分{pager.pageCount}页显示

    add.jsp

    注意:form表单需加 enctype=“multipart/form-data”

    将表单设置为支持图片上传

    <%@ page language=“java” contentType=“text/html; charset=UTF-8”

    pageEncoding=“UTF-8”%>

    <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

    <%

    request.setAttribute(“APP_PATH”, request.getContextPath());

    %>

    Document

    添加课程

    enctype=“multipart/form-data”>

    请选择

    <c:forEach items=“${categoryList }” var=“cat”>

    ${cat.cat_name }

    </c:forEach>

    总结

    一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。

    这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。

    最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

    Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

    还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
    在这里插入图片描述

    《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

    总结

    一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。

    这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。

    最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

    Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

    还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
    [外链图片转存中…(img-9SksC1lg-1714674569536)]

    《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

    • 37
      点赞
    • 35
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    好的,基于JavaWEB+MySQL的二手闲置物品交易网站系统,我将从如下几个方面进行介绍: 1. 技术选型 JavaWeb框架:Spring MVC、Spring、MyBatis 前端框架:Bootstrap、jQuery、Vue.js 数据库:MySQL 2. 功能模块 用户模块:包括用户登录、注册、个人信息管理等功能。 商品模块:包括商品的添加、修改、删除、展示等功能。 交易模块:包括购物车、下单、支付、退款、评价等功能。 后台管理模块:包括管理员登录、商品管理、订单管理、用户管理等功能。 搜索模块:包括关键字搜索、筛选搜索等功能。 3. 系统架构 前端采用MVC架构,后端采用三层架构,即表示层、业务逻辑层和数据访问层。 4. 数据库设计 用户表:包括用户ID、用户名、密码、手机号、邮箱等字段。 商品表:包括商品ID、卖家ID、商品名称、商品描述、价格、状态等字段。 订单表:包括订单ID、买家ID、商品ID、订单状态、订单金额等字段。 管理员表:包括管理员ID、用户名、密码、手机号、邮箱等字段。 5. 性能优化 数据库优化:使用索引、分表、分区等方式提升数据库性能。 缓存优化:使用缓存技术如Redis、Memcached等提升系统性能。 代码优化:使用线程池、异步处理等方式提升系统并发能力。 以上是基于JavaWEB+MySQL的二手闲置物品交易网站系统的介绍,希望能够对您有所帮助。

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值