修改信息 java web_学生信息的添加 Java web简单项目初试(修改)

错误原因:

1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的).

2.代码的某些名称错误,导致数据库数据存储错误。

添加的Dao类如下:

1 packagecom.Dao;2

3 importjava.sql.Connection;4 importjava.sql.PreparedStatement;5 importjava.sql.ResultSet;6 importjava.sql.SQLException;7 importjava.sql.Statement;8 importjava.util.ArrayList;9 importjava.util.List;10 importcom.DBUtil.UserDBUtil;11

12 importjdk.nashorn.internal.ir.RuntimeNode.Request;13

14 public classDao {15 public booleanadd(String username,String password,String name,String studentID,String sex,String phone,String email,String xueyuan,String xi,String classes,String year,String shengyuandi,String beizhu) {16 String sql = "insert into use02 values ('" + username + "','" + password +"','" + name +"','" +studentID +"','" + sex +"','" +phone +"','" + email +"','" +xueyuan +"','"+xi +"','"+classes +"','"+year+"','"+shengyuandi +"','"+beizhu +"')";17 //创建数据库链接

18 Connection conn =UserDBUtil.getConnection();19 Statement state = null;20 boolean f = false;21 int a = 0;22 try{23 state =conn.createStatement();24 a =state.executeUpdate(sql);25 } catch(Exception e) {26 e.printStackTrace();27 } finally{28 //关闭z 连接29 //DB.close(state, conn);

30 }31

32 if (a > 0) {33 f = true;34 }35 returnf;36 }37 }

修改后的Servlet代码如下:

1 importjava.io.IOException;2

3

4 importjavax.servlet.ServletException;5 importjavax.servlet.ServletRequest;6 importjavax.servlet.annotation.WebServlet;7 importjavax.servlet.http.HttpServlet;8 importjavax.servlet.http.HttpServletRequest;9 importjavax.servlet.http.HttpServletResponse;10

11 import com.Dao.*;12 import com.DBUtil.*;13

14 /**

15 * Servlet implementation class UserServlet16 */

17 @WebServlet("/AddServlet")18 public class AddServlet extendsHttpServlet {19 private static final long serialVersionUID = 1L;20

21 /**

22 *@seeHttpServlet#HttpServlet()23 */

24 publicAddServlet() {25 super();26 //TODO Auto-generated constructor stub

27 }28 Dao dao = newDao();29

30 protected void service(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {31 req.setCharacterEncoding("utf-8");32 String method = req.getParameter("method");33 if ("add".equals(method)) {34

35 add(req, resp);36 System.out.println("!!!");37 }38 }39 private void add(HttpServletRequest req, HttpServletResponse resp) throwsIOException, ServletException {40 //TODO Auto-generated method stub

41 String username = req.getParameter("username");42 String password = req.getParameter("password");43 String name = req.getParameter("name");44 String studentID = req.getParameter("studentID");45 String sex = req.getParameter("sex");46 String phone = req.getParameter("phone");47 String email = req.getParameter("email");48 String xueyuan = req.getParameter("xueyuan");49 String xi = req.getParameter("xi");50 String classes = req.getParameter("classes");51 String year = req.getParameter("year");52 String shengyuandi = req.getParameter("shengyuandi");53 String beizhu = req.getParameter("beizhu");54 if(dao.add(username,password,name,studentID,sex,phone,email,xueyuan,xi,classes,year,shengyuandi,beizhu)) {55 req.setAttribute("message", "注册成功!");56 req.getRequestDispatcher("index1.jsp").forward(req, resp);57 return;58 }else{59 req.setAttribute("message", "账号重复,请重新输入!");60 req.getRequestDispatcher("index1.jsp").forward(req, resp);61 return;62 }63 //req.getRequestDispatcher("index1.jsp").forward(req, resp);

64 }65

66

67 }

bean类

1 public classUser {2 privateString username;3 privateString password;4 privateString name;5 privateString studentID;6 privateString sex;7 privateString phone;8 privateString email;9 privateString xueyuan;10 privateString xi;11 privateString classes;12 privateString year;13 privateString shengyuandi;14 privateString beizhu;15 publicString getUsername() {16 returnusername;17 }18 public voidsetUsername(String username) {19 this.username =username;20 }21 publicString getPassword() {22 returnpassword;23 }24 public voidsetPassword(String password) {25 this.password =password;26 }27 publicString getName() {28 returnname;29 }30 public voidsetName(String name) {31 this.name =name;32 }33 publicString getStudentID() {34 returnstudentID;35 }36 public voidsetStudentID(String studentID) {37 this.studentID =studentID;38 }39 publicString getSex() {40 returnsex;41 }42 public voidsetSex(String sex) {43 this.sex =sex;44 }45 publicString getPhone() {46 returnphone;47 }48 public voidsetPhone(String phone) {49 this.phone =phone;50 }51 publicString getEmail() {52 returnemail;53 }54 public voidsetEmail(String email) {55 this.email =email;56 }57 publicString getXueyuan() {58 returnxueyuan;59 }60 public voidsetXueyuan(String xueyuan) {61 this.xueyuan =xueyuan;62 }63 publicString getXi() {64 returnxi;65 }66 public voidsetXi(String xi) {67 this.xi =xi;68 }69 publicString getClasses() {70 returnclasses;71 }72 public voidsetClasses(String classes) {73 this.classes =classes;74 }75 publicString getYear() {76 returnyear;77 }78 public voidsetYear(String year) {79 this.year =year;80 }81 publicString getShengyuandi() {82 returnshengyuandi;83 }84 public voidsetShengyuandi(String shengyuandi) {85 this.shengyuandi =shengyuandi;86 }87 publicString getBeizhu() {88 returnbeizhu;89 }90 public voidsetBeizhu(String beizhu) {91 this.beizhu =beizhu;92 }93 publicUser(String username, String password, String name, String studentID, String sex, String phone, String email,94 String xueyuan, String xi, String classes, String year, String shengyuandi, String beizhu) {95 super();96 this.username =username;97 this.password =password;98 this.name =name;99 this.studentID =studentID;100 this.sex =sex;101 this.phone =phone;102 this.email =email;103 this.xueyuan =xueyuan;104 this.xi =xi;105 this.classes =classes;106 this.year =year;107 this.shengyuandi =shengyuandi;108 this.beizhu =beizhu;109 }110

111

112

113 }

数据库连接程序:

1 importjava.sql.Connection;2

3 importjava.sql.DriverManager;4 //import java.sql.ResultSet;

5 importjava.sql.SQLException;6 //import java.sql.Statement;

7

8 public classUserDBUtil {9 staticConnection con;10 public staticConnection getConnection() {11 try{12 Class.forName("com.mysql.cj.jdbc.Driver");13 System.out.println("数据库驱动加载成功");14 } catch(ClassNotFoundException e) {15 //TODO Auto-generated catch block

16 e.printStackTrace();17 }18

19 try{20 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B88&serverTimezone=GMT%2B8&useSSL=false","root","101032");21 System.out.println("数据库链接成功!");22 } catch(SQLException e) {23 //TODO Auto-generated catch block

24 e.printStackTrace();25 }26

27 returncon;28 }29

30 public static voidmain(String[] args) {31 UserDBUtil c=newUserDBUtil();32 c.getConnection();33

34 }

jsp 页面源代码实现:

1

2 pageEncoding="UTF-8"%>

3

4

5

6

7

用户注册

8

9

10

11

12

13

14

15

16 登陆账号

17

18

19

20 登陆密码

21

22

23

24 姓名

25

26

27

28 学号

29

30

31

32 性别

33 男34  35 女36

37

38

39

40

41

42

43

44

45

46 手机号

47

48

49

50

51

52

53

54 所在学院:

55

56

57

58 所在系:

59

60

61

62 所在班级:

63

64

65

66

67 入学年份(届):

68

69 2014

70 2015

71 2016

72 2017

73 2018

74 2019

75

76

77

78 生源地:

79

80

81

82 备注:

83

84

85

86

87

88

89

90

91

92

93

94 //正则表达式

95 function check(form){96

97 if(form.username.value.length<6 || form.username.value.length>12 || new RegExp("[^0-9a-zA-Z]").test(form.username.value)){98 alert("登陆账号必须由6-12位英文字符或数字组成!");99 form.user.focus();100 return false;101 }102 if(new RegExp("[^a-zA-Z]").test(form.username.value.substring(0,1))){103 alert("登陆账号必须以英文字母开头!");104 form.user.focus();105 return false;106 }107 if(form.password.value.length <= 8 || new RegExp("[^0-9a-zA-Z]").test(form.password.value)){108 alert("密码必须由八位以上字母、数字组成!");109 form.phone.focus();110 return false;111 }112 if(form.studentID.value.length != 8 || new RegExp("[^0-9]").test(form.studentID.value)){113 alert("请输入八位学号!");114 form.phone.focus();115 return false;116 }117

118 if(form.phone.value.length != 11 || new RegExp("[^0-9]").test(form.phone.value)){119 alert("手机号请输入11位数字!");120 form.phone.focus();121 return false;122 }123

124 //以数字字母开头,中间可以是多个数字字母或下划线;然后是“@”;然后是数字字母;然后是“.”;最后是2-4个字母结尾

125 var regex = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;126 if(!regex.test(form.email.value)){127 alert("邮箱格式错误!");128 form.email.focus();129 return false;130 }131 return true;132 }133

134

135

136

数据库存储界面:

3becd6e58c88da940d2f08c541a155d3.png

对于Java web数据库连接的理解:

Java类:

1.servlet 类 处理从前端接受的信息,即jsp 与数据库连接的接口

2.DBUtil 类  加载数据库驱动, 建立对数据库的连接。

3.Dao 类  实现对数据库的增删改查

4.Bean 类 存储信息的基础类

5.在lib目录下导入需要的jar的包

84e197356ed4fad97fb9a1df25e3bb3e.png

6. jsp 实现界面。

本人目前处于初学阶段,代码大部分都是对模板进行修改,没有完全理解,仍旧有许多需要学习的地方。

数据库的JDBC桥接:

面向对象的应用程序接口,制定了统一的访问各种关系型数据库的标准接口。

JDBC任务:

1.与数据库建立连接

2.向数据库发生sql语句

3.处理从数据库返回的结果

以下是之前的错误代码:

https://www.cnblogs.com/cxy0210/p/11715924.html

以上代码如有错误,敬请指正,感激不尽。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值