JavaWeb 增删改查功能
1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的。
登录成功进来后对学生信息的增删改查

2.项目文件为:


3.好了,直接贴上今天新写的代码,昨天的代码就不重复贴了。
src文件下的代码:
controller:
package com.maike.controller; 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 com.maike.model.Student;
import com.maike.model.StudentDto;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class AddStuServlet
*/
@WebServlet("/AddStuServlet")
public class AddStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public AddStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
String stuSex = request.getParameter("stuSex");
String stuAge = request.getParameter("stuAge");
String stuClass = request.getParameter("stuClass"); StudentDto studentDto = new StudentDto();
studentDto.setStuName(stuName);
studentDto.setStuSex(stuSex);
studentDto.setStuAge(stuAge);
studentDto.setStuClass(stuClass); int k = userService.addStu(studentDto);
if(k > 0) {
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
}else {
response.getWriter().append("添加失败").append(request.getContextPath());
request.getRequestDispatcher("addStu.jsp").forward(request, response);
}
} }
AddStuServlet
package com.maike.controller; 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 com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class DeleteStuServlet
*/
@WebServlet("/DeleteStuServlet")
public class DeleteStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public DeleteStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
int k = userService.deleteStu(stuName);
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
DeleteStuServlet
package com.maike.controller; 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; /**
* Servlet implementation class ToAddStuServlet
*/
@WebServlet("/ToAddStuServlet")
public class ToAddStuServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public ToAddStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.getRequestDispatcher("addStu.jsp").forward(request, response); } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
ToAddStuServlet
package com.maike.controller; 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 com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class ToUpdateStuServlet
*/
@WebServlet("/ToUpdateStuServlet")
public class ToUpdateStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public ToUpdateStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
Student student = userService.getStuByName(stuName);
request.setAttribute("student", student);
request.getRequestDispatcher("updateStu.jsp").forward(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
ToUpdateStuServlet
package com.maike.controller; 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 com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class UpdateStuServlet
*/
@WebServlet("/UpdateStuServlet")
public class UpdateStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public UpdateStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String stuName = request.getParameter("stuName");
String stuSex = request.getParameter("stuSex");
String stuClass = request.getParameter("stuClass");
Student student = new Student();
student.setStuName(stuName);
student.setStuSex(stuSex);
student.setStuClass(stuClass);
int k = userService.updateStu(student);
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
} }
UpdateStuServlet
dao:
package com.maike.dao;
import java.util.List;
import com.maike.model.Student;
public interface StudentDao {
List<Student> selectAll();
Student selectByName(String stuName);
int insert(Student student);
int update(Student student);
int delete(String stuName);
}
StudentDao
package com.maike.dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import com.maike.model.Student;
import com.maike.util.ConnectionUtil; public class StudentDaoImpl implements StudentDao {
Student student;
Connection con = null;
PreparedStatement pt = null;
ResultSet rs = null;
String sql; /**
* 查询所有学生
*/
@Override
public List<Student> selectAll() {
// TODO Auto-generated method stub
List<Student> list = new ArrayList<Student>();
sql = "select * from student";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
rs = pt.executeQuery(); while(rs.next()) {
student = new Student();
student.setStuId(rs.getInt("stu_id"));
student.setStuName(rs.getString("stu_name"));
student.setStuSex(rs.getString("stu_sex"));
student.setStuAge(rs.getInt("stu_age"));
student.setStuClass(rs.getString("stu_class")); list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt, rs);
}
return list;
} /**
* 通过名字查询学生
*/
@Override
public Student selectByName(String stuName) {
// TODO Auto-generated method stub
sql = "select * from student where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, stuName);
rs = pt.executeQuery(); while(rs.next()) {
student = new Student();
student.setStuId(rs.getInt("stu_id"));
student.setStuName(rs.getString("stu_name"));
student.setStuSex(rs.getString("stu_sex"));
student.setStuAge(rs.getInt("stu_age"));
student.setStuClass(rs.getString("stu_class"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt, rs);
}
return student;
} /**
* 添加学生
*/
@Override
public int insert(Student student) {
// TODO Auto-generated method stub
int k = 0;
sql = "insert into student values(null,?,?,?,?)";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, student.getStuName());
pt.setString(2, student.getStuSex());
pt.setInt(3, student.getStuAge());
pt.setString(4, student.getStuClass()); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} /**
* 更新学生
*/
@Override
public int update(Student student) {
// TODO Auto-generated method stub
int k = 0;
sql = "update student set stu_sex = ? ,stu_class = ? where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, student.getStuSex());
pt.setString(2, student.getStuClass());
pt.setString(3, student.getStuName()); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} /**
* 通过名字删除学生
*/
@Override
public int delete(String stuName) {
// TODO Auto-generated method stub
int k = 0;
sql = "delete from student where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, stuName); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} }
StudentDaoImpl
model:
package com.maike.model;
public class Student {
private int stuId;
private String stuName;
private String stuSex;
private int stuAge;
private String stuClass;
public int getStuId() {
return stuId;
}
public void setStuId(int stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuSex() {
return stuSex;
}
public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
public int getStuAge() {
return stuAge;
}
public void setStuAge(int stuAge) {
this.stuAge = stuAge;
}
public String getStuClass() {
return stuClass;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass;
}
@Override
public String toString() {
return "Student [stuId=" + stuId + ", stuName=" + stuName + ", stuSex=" + stuSex + ", stuAge=" + stuAge
+ ", stuClass=" + stuClass + "]";
}
}
Student
package com.maike.model;
public class StudentDto {
private String stuId;
private String stuName;
private String stuSex;
private String stuAge;
private String stuClass;
public String getStuId() {
return stuId;
}
public void setStuId(String stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuSex() {
return stuSex;
}
public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
public String getStuAge() {
return stuAge;
}
public void setStuAge(String stuAge) {
this.stuAge = stuAge;
}
public String getStuClass() {
return stuClass;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass;
}
@Override
public String toString() {
return "StudentDto [stuId=" + stuId + ", stuName=" + stuName + ", stuSex=" + stuSex + ", stuAge=" + stuAge
+ ", stuClass=" + stuClass + "]";
}
}
StudentDto
service:
package com.maike.service; import java.util.List; import com.maike.model.Student;
import com.maike.model.StudentDto; public interface UserService { int insertUser(String userName,String userPwd,String userRePwd);
int judgeLogin(String userName,String userPwd); List<Student> seleStuAll();
int addStu(StudentDto studentDto);
int updateStu(Student student);
int deleteStu(String stuName);
Student getStuByName(String stuName); }
UserService
/**
* seleStuAll:查询所有学生信息. <br/>
*/
@Override
public List<Student> seleStuAll() {
// TODO Auto-generated method stub
return studentDao.selectAll();
} /**
* addStu:添加学生信息 .<br/>
*/
@Override
public int addStu(StudentDto studentDto) {
// TODO Auto-generated method stub
int k = 0;
String stuName = studentDto.getStuName();
String stuAge = studentDto.getStuAge();
if(stuName == null || stuAge == null) {
return k;
}
int IntAge = Integer.parseInt(stuAge);
Student student = new Student();
student.setStuName(stuName);
student.setStuSex(studentDto.getStuSex());
student.setStuAge(IntAge);
student.setStuClass(studentDto.getStuClass());
k = studentDao.insert(student);
return k;
} /**
* updateStu:修改学生信息 .<br/>
*/
@Override
public int updateStu(Student student) {
// TODO Auto-generated method stub
return studentDao.update(student);
} /**
* deleteStu :删除学生信息 .<br/>
*/
@Override
public int deleteStu(String stuName) {
// TODO Auto-generated method stub
return studentDao.delete(stuName);
} /**
* 通过名字查询学生
*/
@Override
public Student getStuByName(String stuName) {
// TODO Auto-generated method stub
return studentDao.selectByName(stuName);
}
UserServiceImpl
jsp页面:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>学生信息</title>
</head>
<body>
<br/>
<br/>
<br/>
<h2 align = "center">学生信息列表</h2>
<table align = "center" width="15%">
<tr>
<th align = "center"><a href = "ToAddStuServlet"><button style = "color:blue">添加学生</button></a></th>
</tr>
</table>
<table align = "center">
<tr>
<th>姓名</th><th>性别</th><th>年龄</th><th>班级</th><th colspan="2">管理</th>
</tr>
<c:forEach var = "list" items="${stuList}">
<tr>
<td>${list.stuName }</td><td>${list.stuSex}</td><td>${list.stuAge }</td><td>${list.stuClass}</td>
<td><a href = "DeleteStuServlet?stuName=${list.stuName }" ><button style = "color:blue">删除</button></a></td><td><a href = "ToUpdateStuServlet?stuName=${list.stuName }"><button style = "color:blue">修改</button></a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
showStu
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>添加页面</title>
</head>
<body>
<br>
<br>
<br>
<h2 align = "center">添加页面</h2>
<form action="AddStuServlet" method = "post">
<table align = "center">
<tr>
<td>名字</td><td><input type = "text" name = "stuName" ></td>
</tr>
<tr>
<td>性别</td><td><input type = "text" name = "stuSex" ></td>
</tr>
<tr>
<td>年龄</td><td><input type = "text" name = "stuAge" placeholder ="请输入整数" ></td>
</tr>
<tr>
<td>班级</td><td><input type = "text" name = "stuClass" ></td>
</tr>
<tr>
<td colspan="2" align = "center"><input type="submit" value = "添加" style="color:blue" ></td>
</tr>
</table>
</form>
</body>
</html>
addStu
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>修改页面</title>
</head>
<body>
<br>
<br>
<br>
<h2 align = "center">修改页面</h2>
<form action="UpdateStuServlet" method = "post" align = "center">
<table align = "center">
<tr>
<td>名字</td><td><input type = "text" name = "stuName" value = "${student.stuName }" readonly="readonly" ></td>
</tr>
<tr>
<td>性别</td><td><input type = "text" name = "stuSex" value = "${student.stuSex }"></td>
</tr>
<tr>
<td>年龄</td><td><input type = "text" name = "stuAge" value = "${student.stuAge }" disabled="disabled"></td>
</tr>
<tr>
<td>班级</td><td><input type = "text" name = "stuClass" value = "${student.stuClass }"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value = "修改" style="color:blue" ></td>
</tr>
</table>
</form>
</body>
</html>
updateStu
数据库创建语句:
CREATE TABLE nanfeng.student (
stu_id INT NOT NULL AUTO_INCREMENT,
stu_name varchar(100) NULL,
stu_sex varchar(100) NULL,
stu_age INT NULL,
stu_class varchar(100) NULL,
CONSTRAINT student_pk PRIMARY KEY (stu_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE=utf8_general_ci;
JavaWeb 增删改查功能的更多相关文章
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式 (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...
- 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能
此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...
- IDEA搭建SSM实现登录、注册,数据增删改查功能
本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...
- BootstrapTable与KnockoutJS相结合实现增删改查功能
http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...
- springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能
转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包 数据库表 数据库表就不用教大家了,一张表,很简 ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...
- 使用Bootstrap模态框实现增删改查功能
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 本文实现的是使用模态框实现简单的增删改查的功能. ...
- jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)
jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...
- 3.创建Manager类,演示对TestUser进行增删改查功能
接上一篇文章 创建NHibernateHelper帮助类,生成sessionFactory http://www.cnblogs.com/fzxiaoyi/p/8443587.html 创建个新的类M ...
随机推荐
- Dynamics 365 Customer Engagement V9.X新引入的自动编号属性介绍
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- SpringCloud之Ribbon:负载均衡
Spring Cloud集成了Ribbon,结合Eureka,可实现客户端的负载均衡. 下面实现一个例子,结构下图所示. 一.服务器端 1.创建项目 开发工具:IntelliJ IDEA 2019.2 ...
- 常用的git和repo命令
首先下图是git的流程图 相关概念 svn与git命令的对比 git常用命令 git log // 查看当前库的git log信息 git status ./ // 查看当前库的状态 git diff ...
- JSON.parse和JSON.stringify方法
1.JSON.parse(“要转换的数据”) 2.JSON.stringify(“要转化的数据”) 3.首先,两个方法的用法是有差别的: ①.JSON.stringify是从一个对象中解析出字符串 ② ...
- 《2019年小米春季上海 PHP 实习生招聘面试题》部分答案解析
1 丶 Nginx 怎么实现负载均衡 这个还是比较简单 1.轮询 这种是默认的策略,把每个请求按顺序逐一分配到不同的 server,如果 server 挂掉,能自动剔除. 2.最少连接 把请求分配到连 ...
- Windows10安装ubuntu16.04双系统教程
写在前面:本教程为windows10安装ubuntu16.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu18.04(64位).为了直观和易于理解,我会尽量图文并 ...
- QLineEdit限制数据类型——只能输入浮点型数
前言 最近做了一个小的上位机,要通过串口来下发几个时间参数,为了防止误输入,产生不必要的麻烦,我把输入范围限制在0-680的浮点型数据,支持小数点后2位.学习了一下QLineEdit类是如何限制输入类 ...
- queue队列基础讲解
前言 似乎这种对蒟蒻最重要的概念都搜不到,对巨佬来说也根本不必要提及. 导致我也不懂. Queue 意义 queue,队列,一种数据结构. 队列是一种操作受限制的线性表: 特点: 1.元素先进先出. ...
- ETCD:多机上的集群
原文地址:cluster on multiple machines 总览 启动一个集群静态的要求是每一个集群中的成员需要知道其他成员的位置.在许多情况下,集群成员的IP可能无法提前知道.在这种情况下, ...
- jquery选择器之模糊匹配
模糊匹配主要分为前导模糊匹配,后导模糊匹配和全文模糊匹配. 前导模糊匹配[^=] 例子:选择name前缀为aa的所有div的jQuery对象. $("div[name^='aa']" ...