题目:慧心人力资源管理系统

文档下载:https://download.csdn.net/download/weixin_44893902/16336711

完整项目下载:https://download.csdn.net/download/weixin_44893902/16393518

目录

一、语言和环境

二、实现功能

三、数据库设计

四、具体要求及推荐实现步骤

五、评分标准

六、实现代码


一、语言和环境

  1. 实现语言:JAVA语言。
  2. 环境要求:MyEclipse/Eclipse + Tomcat + MySql。
  3. 使用技术:Jsp+Servlet+JavaBean
  4. 数据库技术:JDBC

二、实现功能

人力资源公司为了提高管理效率,需开发一套B/S结构人力资源管理系统,对员工信息进行管理,主要功能如下:

1、首页默认显示现有的所有员工信息

图1 首页显示所有员工信息

2、鼠标悬停某行数据,该行样式发生变化

图2 鼠标悬停样式效果

3、表格最后一行为统计行,显示当前一共有多少条数据

图3 统计行效果

4、 点击右下“新增”按钮进入新增页面,输入相关信息后点击添加,完成新增员工信息功能,并且返回到首页显示最新数据,如图4、5所示

图4 添加员工信息

图5 添加成功后首页刷新数据

5、点击每行最后删除功能时弹出提示框,用户确认后删除该行数据并刷新最新员工数据,如图6所示。

图6 删除确认提示窗口

图7 删除后刷新数据

6、点击每行更新链接后跳转到更新页面,更新界面显示出要修改的员工信息,更新成功后跳转到首页显示最新数据,如图8、9所示:

 图8 更新员工数据

图9 更新后刷新数据

三、数据库设计

  1. 创建数据库(HRDB)。

  2. 创建员工信息表(TB_EMP),结构如下。

字段名

说明

字段类型

长度

备注

id

员工编号

int

主键,自增,增量为1

name

员工姓名

varchar

50

不能为空

gender

员工性别

varchar

50

不能为空

birthday

员工生日

varchar

50

不能为空

phone

手机号码

varchar

11

不能为空

四、具体要求及推荐实现步骤

  1. 创建数据库,创建员工信息表,添加测试数据(至少添加4条测试数据)。

  2. 创建web工程并创建各个包,导入工程所需的jar文件。

  3. 创建Employee实体类。

  4. 创建BaseDAO工具类使用JDBC完成数据表数据的增删改查。创建Servlet相关类完成功能对应的用户请求处理。

  5. 编写JSP页面进行数据展示,以及新增、修改的界面。

五、评分标准

题目:慧心人力资源管理系统

5

数据库(提交数据库脚本)

5

创建数据库及添加测试数据

5

正确创建和编写实体类,包含所有属性及方法

2

正确创建BaseDao类,包含获取连接及关闭资源方法

35

正确创建EmployeeDAO类或者EmployeeMapper接口,使用jdbc

10

正确创建查询数据返回集合的方法

5

正确创建删除数据的方法

10

正确创建更新数据的方法

10

正确创建新增数据的方法

30

Servlet相关处理类

10

正确创建处理全部数据查询查询请求Servlet类,web.xml中请求映射配置或注解正确

5

正确创建处理新增数据请求Servlet类,web.xml中请求映射配置或注解正确

5

正确创建处理删除数据请求Servlet类,web.xml中请求映射配置或注解正确

5

正确创建处理更新数据时单个数据查询请求Servlet类,web.xml中请求映射配置或注解正确

5

正确创建处理数据更新请求Servlet类,web.xml中请求映射配置或注解正确

18

JSP相关页面

10

展示所有数据页面 7分

显示统计信息3分

3

修改员工信息页面

5

新增员工信息页面

5

总体编程技术

2

编码命名规范

3

程序正常运行,无异常

总分

100

六、实现代码

1、目录结构:

2、使用到的包:

3、Java代码:

util

BaseDao.java

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties; public class BaseDao { private static String url="jdbc:mysql://localhost:3306/hrdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
private static String userName="root";
private static String password="root";
private static String driver="com.mysql.jdbc.Driver";
private static Connection connection;
private static Properties properties = new Properties(); static{
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} public static Connection getConnection(){
try {
if(connection==null||connection.isClosed()){
connection = DriverManager.getConnection(url,userName,password);
}
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
} public static void close(Connection connection) throws Exception {
try {
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
throw new Exception();
}
}
public static void main(String[] args) {
System.out.println(getConnection());
}
}

entity

TbEmp.java

package entity;

import java.io.Serializable;

public class TbEmp implements Serializable{

	private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String gender;
private String birthday;
private String phone;
public TbEmp() {
super();
}
@Override
public String toString() {
return "TbEmp [id=" + id + ", name=" + name + ", gender=" + gender + ", birthday=" + birthday + ", phone="
+ phone + "]";
}
public TbEmp(Integer id, String name, String gender, String birthday, String phone) {
super();
this.id = id;
this.name = name;
this.gender = gender;
this.birthday = birthday;
this.phone = phone;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
} }

mapper

EmpMapper.java

package mapper;

import java.util.List;

import entity.TbEmp;

public interface EmpMapper {
//查询所有
List<TbEmp> queryAll();
//添加
int addEmp(TbEmp tbEmp);
//更新
int updateEmp(TbEmp tbEmp);
//删除
int del(int id);
}

service

EmpService.java

package service;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import com.mysql.jdbc.Connection; import entity.TbEmp;
import mapper.EmpMapper;
import util.BaseDao; public class EmpService implements EmpMapper { @Override
public List<TbEmp> queryAll() {
Connection conn = null;
String sql = null;
try {
sql = "select * from tb_emp";
conn = (Connection) BaseDao.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet resultSet = ps.executeQuery();
ArrayList<TbEmp> arrayList = new ArrayList<TbEmp>();
while (resultSet.next()) {
TbEmp tbEmp = new TbEmp();
tbEmp.setId(resultSet.getInt("id"));
tbEmp.setName(resultSet.getString("name"));
tbEmp.setGender(resultSet.getString("gender"));
tbEmp.setBirthday(resultSet.getString("birthday"));
tbEmp.setPhone(resultSet.getString("phone"));
arrayList.add(tbEmp);
}
if (arrayList.size() > 0) {
return arrayList;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
} @Override
public int addEmp(TbEmp tbEmp) {
Connection connection = null;
try {
String sql = "insert into tb_emp(name,gender,birthday,phone) values(?,?,?,?)";
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, tbEmp.getName());
ps.setString(2, tbEmp.getGender());
ps.setString(3, tbEmp.getBirthday());
ps.setString(4, tbEmp.getPhone());
int add = ps.executeUpdate();
if (add > 0) {
return add;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
} @Override
public int updateEmp(TbEmp tbEmp) {
Connection connection = null;
try {
String sql = "update tb_emp set name='" + tbEmp.getName() + "',gender='" + tbEmp.getGender()
+ "',birthday='" + tbEmp.getBirthday() + "',phone='" + tbEmp.getPhone() + "' where id='"
+ tbEmp.getId() + "'";
System.out.println(sql);
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
int update = ps.executeUpdate();
if (update > 0) {
return update;
}
} catch (Exception e) {
}
return 0;
} @Override
public int del(int id) {
Connection connection = null;
String sql = null;
try {
sql = "delete from tb_emp where id=" + id;
connection = (Connection) BaseDao.getConnection();
PreparedStatement ps = connection.prepareStatement(sql);
int delUpdate = ps.executeUpdate();
if (delUpdate > 0) {
return delUpdate;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
} }

controller

EmpController.java

package controller;

import java.util.List;

import entity.TbEmp;
import mapper.EmpMapper;
import service.EmpService; public class EmpController {
EmpMapper empMapper=new EmpService();
public List<TbEmp> allInfoList(){
List<TbEmp> queryAll = empMapper.queryAll();
return queryAll;
}
//添加
public int addEmp(TbEmp tbEmp){
return empMapper.addEmp(tbEmp);
}
//更新
public int updataEmp(TbEmp tbEmp){
return empMapper.updateEmp(tbEmp);
}
//删除
public int delInfo(int id){
return empMapper.del(id);
} }

servlet

EmpShowServlet.java

package servlet;

import java.io.IOException;
import java.util.List; 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 javax.servlet.http.HttpSession; import controller.EmpController;
import entity.TbEmp; @WebServlet("/EmpShowServlet")
public class EmpShowServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public EmpShowServlet() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller=new EmpController();
List<TbEmp> tbemp = controller.allInfoList();
HttpSession session = request.getSession();
session.setAttribute("empsList", tbemp);
request.getRequestDispatcher("main.jsp").forward(request, response);
} }

AddEmpServlet.java

package servlet;

import java.io.IOException;
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 controller.EmpController;
import entity.TbEmp; @WebServlet("/AddEmpServlet")
public class AddEmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public AddEmpServlet() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller = new EmpController();
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
TbEmp emp = new TbEmp(0, name, gender, birthday, phone);
int addEmp = controller.addEmp(emp);
if (addEmp > 0) {
response.sendRedirect("EmpShowServlet");
}
} }

DelServlet.java

package servlet;

import java.io.IOException;
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 controller.EmpController; @WebServlet("/DelServlet")
public class DelServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public DelServlet() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
EmpController controller=new EmpController();
String id=request.getParameter("id");
int id1=Integer.parseInt(id);
int del = controller.delInfo(id1);
if (del>0) {
response.sendRedirect("EmpShowServlet");
}
} }

UpdatEmpServlet.java

package servlet;

import java.io.IOException;
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 controller.EmpController;
import entity.TbEmp; @WebServlet("/UpdatEmpServlet")
public class UpdataEmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L; public UpdataEmpServlet() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
EmpController controller=new EmpController();
Integer id= Integer.parseInt(request.getParameter("id").toString());
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
TbEmp emp=new TbEmp(id,name,gender,birthday,phone);
System.out.println(emp.toString());
int updatEmp = controller.updataEmp(emp);
if (updatEmp>0) {
response.sendRedirect("EmpShowServlet");
}
} }

4、HTML代码:

main.jsp

<%@page import="entity.TbEmp"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>慧心人力资源管理系统</title>
<style type="text/css">
body {
width: 100%;
} .wrap_table {
width: 60%;
margin: 0 auto;
text-align: center;
} table {
text-align: center;
margin: 0 auto;
} table tr:nth-last-child(1) {
padding-right: 20px;
} table th {
padding: 10px;
} table:nth-last-child(2) tr:hover, table tr:hover a {
color: white;
background-color: black;
} table:nth-last-child(1) tr {align ="left"; } table:nth-last-child(1) td {
padding: 10px;
} table:nth-last-child(2) td {
padding: 5px;
} #end {
text-align: right;
} #name {
margin-bottom: 10px;
} #price {
margin-bottom: 10px;
} #num {
margin-bottom: 10px;
} #type {
margin-bottom: 10px;
}
</style>
</head>
<body >
<div class="wrap_table">
<table border="1" cellspacing="0" cellpadding="0" height="300px">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">人力资源管理</caption>
<tr>
<th width="80">员工编号</th>
<th width="120">员工姓名</th>
<th width="80">员工性别</th>
<th width="140">员工生日</th>
<th width="140">员工手机</th>
<th width="120">操作</th>
</tr>
<%
List<TbEmp> empsList = (List<TbEmp>) session.getAttribute("empsList");
int i = 0;
%>
<c:forEach items="${empsList}" var="emp">
<tr>
<td>${emp.id }</td>
<td>${emp.name }</td>
<td>${emp.gender }</td>
<td>${emp.birthday }</td>
<td>${emp.phone }</td>
<td><input type="button" onclick="update(this)" class="updata"
value="更新" /> <input type="button" onclick="del(${emp.id })"
value="删除" /></td>
</tr> </c:forEach>
<tr>
<td colspan="6" id="end"><span>共计<%=empsList.size() + 1%>条数据
</span> <a href="addEmp.jsp">新增</a></td>
</tr> </table>
<div
style="width: 500px; height: 400px; border: 1px solid #000; background-color: white; display: none; position: absolute; left: 40%; top: 10%;"
id="UpdataDiv">
<form action="UpdatEmpServlet" method="post" id="UpdataForm">
<br /> <br />
<table border="1" cellspacing="0" cellpadding="0"
style="text-align: left;" width="400" height="200">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">更新员工信息</caption>
<tr style="display: none">
<td><input type="text" name="id" id="id" value=""></td>
</tr>
<tr>
<td>员工姓名:<input type="text" name="name" id="name" value=""></td>
</tr>
<tr>
<td>员工性别:<input id="man" type="radio" name="gender" value="男" />男
<input id="woman" type="radio" name="gender" value="女">女
</td>
</tr>
<tr>
<td>员工生日:<input id="birthday" name="birthday" type="date"
value="" /></td>
</tr>
<tr>
<td>员工号码:<input type="text" name="phone" id="phone" value=""></td>
</tr>
<tr align="center">
<td><input type="submit" value="提交"> <input
type="button" value="取消" class="updata2"></td>
</tr>
</table>
</form>
</div>
</div>
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(".updata").click(function(){
$("#UpdataDiv").css("display","block"); });
$(".updata2").click(function(){
$("#UpdataDiv").css("display","none");
}); </script>
<script type="text/javascript">
function update(obj) {
var id=$(obj).parents("tr").children("td").eq(0).text();
var name=$(obj).parents("tr").children("td").eq(1).text();
var gender=$(obj).parents("tr").children("td").eq(2).text();
var birthday=$(obj).parents("tr").children("td").eq(3).text();
var phone=$(obj).parents("tr").children("td").eq(4).text();
document.getElementById("id").value = id;
document.getElementById("name").value = name;
if (gender=="男") {
document.getElementById("man").checked = true
}
if (gender=="女") {
document.getElementById("woman").checked = true
}
document.getElementById("birthday").value = birthday;
document.getElementById("phone").value = phone;
}
function del(id) {
if (confirm("确定删除该数据?")) {
window.location.href="DelServlet?id="+id;
}
}
function a(){
$.ajax({
url:"EmpShowServlet",//servlet文件的名称
type:"POST",
success:function(e){
alert("servlet调用成功!");
}
}); }
</script>
</body>
</html>

addEmp.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>慧心人力资源管理系统-添加员工信息</title>
<style type="text/css">
body {
width: 100%;
} .wrap_table {
width: 40%;
margin: 0 auto;
text-align: center;
} table {
text-align: left;
margin: 0 auto;
height: 200px;
width: 400px;
} table td {
padding: 10px;
} .button_class input {
padding: 3px 10px;
}
</style>
</head>
<body>
<div class="wrap_table">
<form action="AddEmpServlet" method="post">
<table border="1" cellspacing="0" cellpadding="0">
<caption align="top"
style="font-size: 1.6rem; height: 50px; font-weight: bold;">添加员工信息</caption>
<tr>
<td>员工姓名:</td>
<td><input type="text" name="name" id="name" value="" /></td>
</tr>
<tr>
<td>性别:</td>
<td><input id="man" type="radio" checked="checked"
name="gender" value="男" />男 <input id="woman" type="radio"
name="gender" / value="女">女</td>
</tr>
<tr>
<td>员工生日:</td>
<td><input id="birthday" name="birthday" type="date" value="" />
</tr>
<tr>
<td>员工手机:</td>
<td><input type="text" name="phone" id="" value="" /></td>
</tr>
<tr>
<td colspan="2" align="center" class="button_class"><input
type="submit" name="" id="" value="添加" /> <input type="reset"
name="" id="" value="重置" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>

Java Web项目 慧心人力资源管理系统的更多相关文章

  1. 第一个Java web项目:员工管理系统

    要求: 做一个登陆页面,实现登录,用户名和密码都是admin,登录成功后,用session记录用户名,登录失败,请提示失败原因. 做一个简单的管理系统,实现注册,修改,查询,删除 员工的功能,注册内容 ...

  2. java web 项目 图书管理系统的设计与实现

     java web 项目 图书管理系统的设计与实现

  3. web项目_学生证管理系统

    项目简述: 基于java web实现学生卡管理系统,用户包括学生和学生处,分别实现以下功能. 学生: 1.对本人登录密码的修改 2.申请补办学生卡 3.查看学生卡补办状态 学生处: 1.对学生信息的管 ...

  4. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  5. 怎么将java web 项目导入idea 中

    1.将 java web 项目导 入idea 中, 显示 然后进行 Configure 配置. 2. 点击 open module settings. 3. 4. 选择jar包. 5. 6. 配置to ...

  6. 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目

    前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...

  7. Java Web项目报错java.lang.NullPointerException at org.apache.jsp.front.index_jsp._jspInit(index_jsp.java:30)

    环境:myeclipse+tomcat6+jdk6 今天搭建了一个Java Web项目,访问index.jsp时报如下错误: 严重: Servlet.service() for servlet jsp ...

  8. 使用Spring Boot来加速Java web项目的开发

    我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...

  9. Linux(Centos)之安装tomcat并且部署Java Web项目

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

随机推荐

  1. C语言内自定义汇编函数&调用约定

    探究如何在C语言里直接自写汇编函数 裸函数 裸函数与普通函数的区别 普通函数在经过编译器编译时,编译器自动生成保护现场,恢复现场等反汇编代码 当我们想要自己实现函数内部的汇编代码时,就可以告诉汇编器不 ...

  2. linux修改文件权限命令

    先看个实例: [root@local opt]#ls -al ls -al 命令是列出目录的所有文件,包括隐藏文件.隐藏文件的文件名第一个字符为'.' -rw-r--r--  1 root root  ...

  3. Linux:ps -ef命令

    ps命令将某个进程显示出来 grep命令是查找 中间的|是管道命令 是指ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 检查java 进程是否存在:ps -ef |g ...

  4. 关于finally中的语句和try中的return之间的执行顺序

    首先是第一种情况: 我们这里由于程序只是单一的,所以后面的代码只有主题部分: Public class test{ Public static void main(String[] args){ Sy ...

  5. 利用代码覆盖率提高嵌入式软件的可靠性 - VectorCAST

    简介 代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例 计算得出.代码覆盖率可以有效避免包含未测试代码的程序被发布. 代码覆盖率能不能提高软件的可靠性?答案是肯定的,代 ...

  6. 聊聊 SpringBoot 中的两种占位符:@*@ 和 ${*}

    前言 在 SpringBoot 项目中,我们经常会使用两种占位符(有时候还会混用),它们分别是: @*@ ${*} 如果我们上网搜索「SpringBoot 的占位符 @」,大部分答案会告诉你,Spri ...

  7. Jmeter——SMTP Sampler发送邮件

    在平时测试过程中,也会出一些测试报告,那jmeter在不依托其他工具的情况下,可不可以发送邮件呢,自然是可以的. 我们直接使用SMTP Sampler即可. SMTP Sampler参数 我们来添加个 ...

  8. [BUUCTF]REVERSE——[GKCTF2020]Check_1n

    [GKCTF2020]Check_1n 附件 步骤: 例行查壳儿,32位程序,无壳儿 32位ida载入,习惯性的检索程序里的字符串,看到了一个比较有意思的字符串,但是不懂是什么解密,先不管它了 在这些 ...

  9. java 多线程 集合的包装方法Collections.synchronizedXXXXX;线程安全的集合类:Java.util.concurrent.ConcurrentXXX;java.util.concurrent.CopyOnWriteXXXX

    问题:ArrayList  等线程不安全 当多线程并发修改一个集合数据时,可能同一个下标位置被覆盖. 示例代码: 一个List,我们创建10个线程,每个线程往这个List中添加1000条数据,结果往往 ...

  10. tcping和tcpping工具使用

    tcping和tcpping工具 1.工具使用 1.1.windows版tcping 1.2.linux版tcpping 2.B站问题(linux版本tcpping探测ip,且ip无法解析到主机名) ...