ajax判断数据库用户名,用ajax检测用户名是否存在从mysql数据库里查询版本

大体思路是这样:本案例利用三层架构模式,但是service层没有过多的业务逻辑,只是规范架构而已

第一步:创建一个add.jsp

1

2

3

4

5

6

7

8

验证插入的ID是否可以使用

9

10

12

13

14 window.onload =function() {15 //得到id=t的文本框

16 var txt = document.getElementById("id");17

18

19

20 //给文本框注册一个失去焦点事件

21 txt.onblur =function() {22

23 //获取文本框中的信息

24 var value =txt.value;25

26 if(value==null||value==""){27

28 document.getElementById("s").innerHTML = "id不能为空";29 txt.focus();30 }else{31

32 //第一步:得到XMLHttpRequest对象.

33 var xmlhttp =getXmlHttpRequest();34 //2.设置回调函数

35 xmlhttp.onreadystatechange =function() {36

37 //5.处理响应数据 当信息全部返回,并且是成功

38 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {39

40 var msg =xmlhttp.responseText;41

42 document.getElementById("s").innerHTML =msg;43

44 }45 };46

47 xmlhttp.open("POST", "${pageContext.request.contextPath}/CheakId");48 xmlhttp.setRequestHeader("content-type",49 "application/x-www-form-urlencoded");50

51 xmlhttp.send("id=" +value);52 }53 }54 };55

56

57

58

59

60

61

62

63

添加的id号:

64

65

66

67

添加的name:

68

69

70

71

添加的authod:

72

73

74

75

添加的price:

76

77

78

79

添加的number:

80

81

82

83

84

85

86

87

88

89

90

91

my.js里判断了浏览器版本,并创建相应的xmlHttpRequest对象

1 function getXmlHttpRequest() {2 var xmlhttp = null;3

4 if(window.XMLHttpRequest) {5 xmlhttp = new XMLHttpRequest(); //针对于现在的浏览器包括IE7以上版本

6 } else if(window.ActiveXObject) {7 //针对于IE5,IE6版本

8 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");9 }10 returnxmlhttp;11 }

第二步,创建addServlet.servlet

packagecom.web;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.SQLException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.service.AddService;public class AddServlet extendsHttpServlet {public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

request.setCharacterEncoding("utf-8");

response.setHeader("Content-Type", "text/html;charset=utf-8");

String id= request.getParameter("id");

String name= request.getParameter("name");

String authod= request.getParameter("authod");

String price= request.getParameter("price");int number = Integer.valueOf(request.getParameter("number"));

AddService as= newAddService();try{boolean b =as.add(id,name,authod,price,number);if(b){

response.sendRedirect(request.getContextPath()+"/FindAllBooks");

}else{

response.getWriter().write("添加失败,请检查你添加的ID是否重复");

}

}catch(SQLException e) {

response.getWriter().write("添加失败");

e.printStackTrace();

}

}public voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

doGet(request, response);

}

}

第三步:创建addService.java

1 packagecom.service;2

3 importjava.sql.SQLException;4

5 importcom.dao.AddDao;6

7 public classAddService {8

9 public booleanadd(String id, String name, String authod, String price,10 int number) throwsSQLException {11

12 AddDao ad = newAddDao();13

14

15 returnad.add(id,name,authod,price,number);16 }17

18 }第四步:创建addDao.java

1 packagecom.dao;2

3 importjava.sql.Connection;4 importjava.sql.PreparedStatement;5 importjava.sql.ResultSet;6 importjava.sql.SQLException;7 importjava.util.ArrayList;8 importjava.util.List;9

10 importcom.mchange.v2.c3p0.ComboPooledDataSource;11

12 public classAddDao {13

14 public booleanadd(String id, String name, String authod, String price,15 int number) throwsSQLException {16

17 ComboPooledDataSource cds = newComboPooledDataSource();18

19 Connection con =cds.getConnection();20

21 List ids = new ArrayList();22

23 String checkIdSql = "select * from books";24 PreparedStatement checkIdpst =con.prepareStatement(checkIdSql);25

26 ResultSet checkIdrs =checkIdpst.executeQuery();27

28 while(checkIdrs.next()) {29

30 ids.add(checkIdrs.getString("id"));31

32 }33

34 System.out.println("dao中查到的ids::::" +ids);35

36 System.out.println("---Dao:::" + id + name + authod + price +number);37

38 String sql = "insert into books(id,name,authod,price,number) values(?,?,?,?,?)";39

40 PreparedStatement pst =con.prepareStatement(sql);41

42 pst.setString(1, id);43 pst.setString(2, name);44 pst.setString(3, authod);45 pst.setString(4, price);46 pst.setInt(5, number);47

48 boolean b =ids.contains(id);49

50 if (b == false) {51

52 int i =pst.executeUpdate();53

54 //包含是真 ,不包含是假

55 if ((i != 0) && (b == false)) {56

57 return true;58

59 } else{60

61 return false;62 }63

64 } else{65

66 return false;67

68 }69

70 }71

72 }

声明:Dao中用到了c3p0连接数据库技术

在src目录下添加c3p0-config.xml

com.mysql.jdbc.Driver

jdbc:mysql:///bookmanagesystem

root

123456

此外项目要导入数据库所需要的jar包,自行导入即可。

效果如图所示:

6c1555302777729326ca3efa0910d9ec.png

6c1555302777729326ca3efa0910d9ec.png

6c1555302777729326ca3efa0910d9ec.png

在这里,我的addServlet.servlet里添加成功后,转到了一个查询的servlet里

response.sendRedirect(request.getContextPath()+"/FindAllBooks");

这里你可以自行转到相应页面,提示添加成功与否。

来源:https://www.cnblogs.com/ZMYOE/p/13150181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值