Tomcat|Tomcat 8.5 +mysql 5.7+jdk1.8开发JavaSE的金牌榜小项目
目录
- 注册登录
- 注册
- 登录
- 留言板模块
- 留言板
- 热搜榜
- 查询&&搜索
- 增删改查
文章图片
环境: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 = "https://www.it610.com/register")public class Register extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response); }@Overrideprotected 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(""); }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、断开与数据库的连接
登录
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 = "https://www.it610.com/Login")public class Login extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {PrintWriter out = response.getWriter(); String username = request.getParameter("userName"); String password = request.getParameter("userPwd"); Map 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(""); }else{out.println(""); }}else if(PWD.equals(password)){out.println(""); }else{out.println(""); //System.out.println("美猴王"); //response.getWriter().println("齐天大圣"); }}else{out.println(""); }}}
就是连接数据库,读取数据库里面的内容,和前端输入的做匹配,判断账号密码是否正确。我这粗略的写了一个管理员,可以增删改查后台数据(但是 是写死的)
登陆注册是对同一张表中数据惊醒操作。登录是查询操作,注册是添加操作(俗称刷数据)
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 = "https://www.it610.com/select")public class Select extends HttpServlet {@Overrideprotected 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; ListolypicList=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、断开数据库连接
看完用户功能,下面我们来看看管理员功能。
登陆页面(账号密码写死):
账号:admin
密码:admin
时间仓促,没写的太好
增删改查
就是通过对表的增删改查来增加,删除,修改,查询表中的数据。详细代码见 Java/JavaWeb 连接数据库完成增删改查
看到这不知道你们是否发现,在写项目的时候功能往往都是一些增删改查,或者是由增删改查所组成。所以学号增删改查你就可以进行下面的学习了。所以每个项目一开始往往都是增删改查开始的。
完整项目见:JavaSE项目
因为有些同学找我要数据库文件,就把他放入这里数据库数据
【Tomcat|Tomcat 8.5 +mysql 5.7+jdk1.8开发JavaSE的金牌榜小项目】到此这篇关于Tomcat 8.5 +mysql 5.7+jdk1.8开发JavaSE的金牌榜小项目的文章就介绍到这了,更多相关Tomcat 8.5 mysql 5.7 jdk1.8内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Java毕业设计项目实战篇|Java项目:网上图书馆管理系统(java+jsp+servlert+mysql+ajax)
- JSP|【三剑客+JSP+Mysql+Tomcat】从前到后搭建简易编程导航小网站(期末作业)
- 踩坑-Tomcat(servlet)在启动(加载)是执行两次
- IDEA配置Tomcat以及环境
- 日常记录|IDEA中启动TomCat失败,提示: 1099 is already in use 解决办法【实际并未占用】
- Jenkins|Jenkins+maven+gitLab构建项目,及远程部署war包到tomcat上
- jenkins|持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署
- Tomcat高负载WEB服务器部署jspgou实验
- Tomcat高负载WEB服务器Tomcat多实例
- Tomcat高负载WEB服务器JVM - 常用分析工具