定制软件一个JavaSE的金牌榜小项目,启蒙+提高【重点:Tomcat 8.5 +mysql 5.7+jdk1.8】

🍖🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖
🍖🍖
🍖🍖🍖
🍖🍖🍖🍖 作者 : 不良使
🍖🍖🍖🍖🍖 定制软件潜力创作新星 定制软件华为云享专家
🍖🍖🍖🍖🍖🍖 定制软件博客记录学习的思路,定制软件项目和错误,定制软件寻找志同道合的朋友
🍖🍖🍖🍖🍖🍖🍖 定制软件如果觉得有帮助记得一键三连 ┗|`O′|┛ 嗷~~
🍖🍖🍖🍖🍖🍖🍖🍖

🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖

环境:Tomcat 8.5 +mysql 5.7+jdk1.8

定制软件这个作业是我们Java定制软件课程的考核项目,定制软件想在把分享给大家。定制软件菜鸟在启航

MVC+servlet+jsp+mysql


💖💖💖💖不废话,定制软件下面就来看看这个项目

💦💦注册登录

🍄🍄注册

package com.bjpowernode.javaweb.servlet;import com.bjpowernode.javaweb.utils.DButil;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.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;@WebServlet(name = "register", value = "/register")public class Register extends HttpServlet {    @Override    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request,response);    }    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        String Myname = request.getParameter("registerName");        String Mypassword =request.getParameter("registerPwd");        response.setContentType("text/html");        response.setCharacterEncoding("GBK");        Connection conn = null;        PreparedStatement stmt = null;        try {            //注册驱动(作用:告诉Java程序,定制软件即将要连接的哪个品牌的数据库)            Class.forName("com.mysql.jdbc.Driver");            //获取连接(表示JVM定制软件的进程和数据库进程之定制软件间的通道打开了,定制软件这属于进程之间的通信,重量级的,定制软件使用完之后一定要关闭)            String url = "jdbc:mysql://127.0.0.1:3306/book";            String user = "root";            String password = "123456";            conn = DriverManager.getConnection(url,user,password);            //获取数据库操作对象(专门(Statement专门执行sql语句的)            stmt = conn.prepareStatement("INSERT INTO user VALUES (?,?)");            stmt.setString(1,Myname);            stmt.setString(2,Mypassword);            int count = stmt.executeUpdate();            if(count==1){                PrintWriter out = response.getWriter();                out.println("<script>");                out.println("alert('Registered successfully');");                out.println("location.href='index.html'");//跳转到用户列表页面                out.println("</script>");            }else{                response.getWriter().print("注册失败");            }//            System.out.println(count == 1 ? "保存成功" : "保存失败");        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        } finally {            DButil.close(conn,stmt,null);        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

就是通过链接数据库,往数据库里面刷数据(添加数据)

🥞🥞1、通过驱动连接数据库
🥞🥞2、往数据库添加前端输入的数据,作为用户的账号密码存储
🥞🥞3、用户注册成功

🥞🥞4、断开与数据库的连接


🍄🍄登录

package com.bjpowernode.javaweb.servlet;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.io.PrintWriter;import java.util.Map;@WebServlet(name = "Login", value = "/Login")public class Login extends HttpServlet {    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        PrintWriter out = response.getWriter();        String username = request.getParameter("userName");        String password = request.getParameter("userPwd");        Map<String,String> map = Mysql.user();        response.setContentType("text/html");        response.setCharacterEncoding("GBK");        if(map.containsKey(username)) {            System.out.println("进入if判断循环了");  //TODO  进入循环了            String PWD = map.get(username);            System.out.println(PWD);//TODO   有值            if (PWD.equals("admin")) {                if (password.equals("admin")){                    out.println("<script>");                    out.println("alert('Log in successfully');");                    out.println("location.href='Take_01'");//跳转到管理员列表页面                    out.println("</script>");                }                else{                    out.println("<script>");                    out.println("alert('Dear, the account password is incorrect, please input it again');");                    out.println("location.href='index.html'");//跳转到用户列表页面                    out.println("</script>");                }            }            else if(PWD.equals(password)){                out.println("<script>");                out.println("alert('Log in successfully');");                out.println("location.href='Take_02'");//跳转到用户列表页面                out.println("</script>");            }            else{                out.println("<script>");                out.println("alert('Dear, the account password is incorrect, please input it again');");                out.println("location.href='index.html'");//跳转到用户列表页面                out.println("</script>");//                System.out.println("美猴王");//                response.getWriter().println("齐天大圣");            }        }        else{            out.println("<script>");            out.println("alert('This account is not registered, dear, please register first!!!');");            out.println("location.href='index.html'");//跳转到用户列表页面            out.println("</script>");        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62

就是连接数据库,读取数据库里面的内容,和前端输入的做匹配,判断账号密码是否正确。我这粗略的写了一个管理员,可以增删改查后台数据(但是 是写死的)

登陆注册是对同一张表中数据惊醒操作。登录是查询操作,注册是添加操作(俗称刷数据)

🎂🎂1、通过驱动连接数据库
🎂🎂2、读取表中的数据与前端账号做对比
🎂🎂3、比对成功,登陆成功。比对失败,登陆失败。

🎂🎂4、断开与数据库的连接




💦💦留言板模块

🐱‍👓🐱‍👓留言板

这块主要就是一个增加和查看,和前面的注册登录没有太大的区别
首先留言板就是往表中插入数据(注册)。后面的滚动的数据就是将后端取出来的数据展示在提前准备好的js上面(样式上面)

🚀🚀1、连接数据库
🚀🚀2、往相应的表中添加一些数据
🚀🚀3、读取表中的数据,展示在js上面(传递给js)
🚀🚀4、断开与数据库的连接


🐱‍👓🐱‍👓热搜榜

热搜榜就更简单了,只要把后台处理过存入数据库的数据读取出来显示在js上即可。

这里用到的是结巴分词,将评论区(也就是数据库)内容通过结巴分词,然后按照词性,是人名就默认初始值为1,其余删掉,再遍历分词后的,统计每个人的频率。

🚀🚀频率(词频处理):
😴😴1、读取数据库评论区的内容
😴😴2、结巴分词,词性辨析,剔除不符合规定的词语
😴😴3、遍历,计算每个人名的次数

😴😴4、将数据按照人名出现次数存入数据库

详细步骤和代码见此篇文章

🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴🛴

🍓🍓1、连接数据库
🍓🍓2、读取之前处理好的数据(按照人名出现次数存入数据库)
🍓🍓3、传递给js
🍓🍓4、关闭与数据库的连接

💦💦查询&&搜索

查询:就是通过主键(或者某一个属性)查询,查询数据库的数据展示在页面上。
搜索:通过主键(或者某一个属性)搜索,和查询一个意思

select XX from 表明 where 属性=XX;

package com.bjpowernode.javaweb.servlet;import com.bipowernode.pojo.Olypic;import com.bjpowernode.javaweb.utils.DButil;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.io.PrintWriter;import java.sql.*;import java.util.ArrayList;import java.util.List;@WebServlet(name = "select",value = "/select")public class Select extends HttpServlet {    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        response.setContentType("text/html;charset=UTF-8");        request.setCharacterEncoding("UTF-8");        String name = request.getParameter("select_name");        System.out.println(name);        //连接数据库        Connection conn = null;        PreparedStatement ps = null;        ResultSet rs = null;        List<Olypic> olypicList=new ArrayList<>();        try {            Class.forName("com.mysql.jdbc.Driver");            //获取连接            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mofa", "root", "123456");            String sql = "select * from medals_table where Country=?";            //编译sql语句            ps = conn.prepareStatement(sql);            //赋值    第一个问好赋值 country   国家名称            ps.setString(1, name);            //查询返回结果集    这个结果集只有一条记录  ,国家名称是主键  ,  故只有一条数据            rs = ps.executeQuery();            if (rs.next()) {                String country = rs.getString("Country");                String Glod = rs.getString("Glod_num");                String Silver = rs.getString("Silver_num");                String Copper = rs.getString("Copper_num");                String id=rs.getString("id");                String logo=rs.getString("logo");                System.out.println("这是数据");                System.out.println(country);                System.out.println("Glod");//                   String Sum=rs.getString("Sum");                int G = Integer.valueOf(Glod).intValue();                int S = Integer.valueOf(Silver).intValue();                int C = Integer.valueOf(Copper).intValue();                int A=G+S+C;                String Sum=String.valueOf(A);                //将数据封装程Java对象                Olypic olpic=new Olypic();                olpic.setCountry(country);                olpic.setGlod_num(Glod);                olpic.setSilver_num(Silver);                olpic.setCopper_num(Copper);                olpic.setId(id);                olpic.setSum(Sum);                olpic.setLogo(logo);                // TODO 将数据放入上面定义好的容器                olypicList.add(olpic);            }        } catch (SQLException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        } finally {            DButil.close(conn, ps, rs);        }        request.setAttribute("olypicList",olypicList);        request.getRequestDispatcher("./take_03.jsp").forward(request,response);    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81

🐱‍👓🐱‍👓1、连接数据库
🐱‍👓🐱‍👓2、查询数据交给前端页面
🐱‍👓🐱‍👓3、页面展示出来
🐱‍👓🐱‍👓4、断开数据库连接




看完用户功能,下面我们来看看管理员功能。
登陆页面(账号密码写死):
账号:admin
密码:admin
时间仓促,没写的太好

💦💦增删改查

就是通过对表的增删改查来增加,删除,修改,查询表中的数据。
看到这不知道你们是否发现,在写项目的时候功能往往都是一些增删改查,或者是由增删改查所组成。所以学号增删改查你就可以进行下面的学习了。所以每个项目一开始往往都是增删改查开始的。

详细代码见

完整项目见:
因为有些同学找我要数据库文件,就把他放入这里







觉得有用的可以给个三连,关注一波!!!带你了解更多的Java小项目

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发