🍖🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖
🍖🍖
🍖🍖🍖
🍖🍖🍖🍖 作者 : 不良使
🍖🍖🍖🍖🍖 潜力创作新星 华为云享专家
🍖🍖🍖🍖🍖🍖 博客记录学习的思路,项目和错误,寻找志同道合的朋友
🍖🍖🍖🍖🍖🍖🍖 如果觉得有帮助记得一键三连 ┗|`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("");
}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 = "/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("");
}
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 = "/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、断开数据库连接
💦💦增删改查看完用户功能,下面我们来看看管理员功能。
登陆页面(账号密码写死):
账号:admin
密码:admin
时间仓促,没写的太好
就是通过对表的增删改查来增加,删除,修改,查询表中的数据。
看到这不知道你们是否发现,在写项目的时候功能往往都是一些增删改查,或者是由增删改查所组成。所以学号增删改查你就可以进行下面的学习了。所以每个项目一开始往往都是增删改查开始的。
详细代码见 Java/JavaWeb 连接数据库完成增删改查
完整项目见:JavaSE项目
因为有些同学找我要数据库文件,就把他放入这里数据库数据
觉得有用的可以给个三连,关注一波!!!带你了解更多的Java小项目
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)