使用maven搭建Hibernate,maven搭建
使用maven搭建Hibernate框架(web项目)

1 create table USERS
2 (
3 ID
NUMBER not null primary key,
4 NAME
VARCHAR2(
50),
5 PASSWORD
VARCHAR2(
50),
6 TELEPHONE
VARCHAR2(
15),
7 USERNAME
VARCHAR2(
50),
8 ISADMIN
VARCHAR2(
5)
9 );
10 create table DISTRICT
11 (
12 ID
NUMBER not null primary key,
13 NAME
VARCHAR2(
50)
not null
14 );
15 create table HOUSE
16 (
17 ID
NUMBER,
18 USER_ID NUMBER,
19 TYPE_ID
NUMBER,
20 TITLE NVARCHAR2(
50),
21 DESCRIPTION NVARCHAR2(
2000),
22 PRICE
NUMBER,
23 PUBDATE DATE,
24 FLOORAGE
NUMBER,
25 CONTACT
VARCHAR2(
100),
26 STREET_ID
NUMBER
27 );
28
29 create table STREET
30 (
31 ID
NUMBER not null primary key,
32 NAME
VARCHAR2(
50),
33 DISTRICT_ID
NUMBER
34 );
35 create table TYPE
36 (
37 ID
NUMBER not null primary key,
38 NAME
VARCHAR2(
12)
not null
39 );
40 --主外键关系
41 ALTER TABLE HOUSE
ADD CONSTRAINT fk_HOUSE_STREET
FOREIGN KEY(STREET_ID)
REFERENCES STREET (ID);
42 ALTER TABLE HOUSE
ADD CONSTRAINT fk_HOUSE_TYPE
FOREIGN KEY(TYPE_ID)
REFERENCES TYPE (ID);
43 ALTER TABLE HOUSE
ADD CONSTRAINT fk_HOUSE_USERS
FOREIGN KEY(
USER_ID)
REFERENCES USERS (ID) ;
44 ALTER TABLE STREET
ADD CONSTRAINT fk_DISTRICT_STREET
FOREIGN KEY(DISTRICT_ID)
REFERENCES DISTRICT(ID);
45 --DISTRICT
46 insert into DISTRICT (ID, NAME)
47 values (
1001,
'东城');
48 insert into DISTRICT (ID, NAME)
49 values (
1002,
'西城');
50 insert into DISTRICT (ID, NAME)
51 values (
1003,
'石景山');
52 insert into DISTRICT (ID, NAME)
53 values (
1006,
'朝阳');
54 insert into DISTRICT (ID, NAME)
55 values (
1000,
'丰台');
56 insert into DISTRICT (ID, NAME)
57 values (
1004,
'海淀');
58 commit;
59 --STREET
60 insert into STREET (ID, NAME, DISTRICT_ID)
61 values (
1000,
'知春路',
1004);
62 insert into STREET (ID, NAME, DISTRICT_ID)
63 values (
1001,
'中关村大街',
1004);
64 insert into STREET (ID, NAME, DISTRICT_ID)
65 values (
1002,
'学院路',
1004);
66 insert into STREET (ID, NAME, DISTRICT_ID)
67 values (
1003,
'朝阳路',
1006);
68 commit;
69 --USERS
70 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1001,
'zhangsan',
'1234',
'13267089839',
'张三',
'是');
71 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1002,
'lisi',
'1234',
'13267034439',
'李四',
'否');
72 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1003,
'wangxin',
'1234',
'13848879541',
'王鑫',
'是');
73 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1004,
'zhangjian',
'1234',
'13846972541',
'张建',
'否');
74 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1005,
'lijian',
'1234',
'13247965251',
'李健',
'是');
75 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1006,
'jiangyiran',
'1234',
'13445697214',
'蒋以然',
'否');
76 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1007,
'wangxiaochao',
'1234',
'13598248731',
'王晓超',
'否');
77 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1008,
'zhangdongxue',
'1234',
'13869732519',
'张冬雪',
'否');
78 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1009,
'sunpeng',
'1234',
'13299358331',
'孙鹏');
79 INSERT INTO USERS(ID,NAME,PASSWORD,TELEPHONE,USERNAME,ISADMIN)
VALUES(
1010,
'jianglianchang',
'1234',
'13846937982',
'蒋连昌',
'否');
80 commit;
81 --TYPE
82 insert into TYPE (ID, NAME)
83 values (
1000,
'一室一厅');
84 insert into TYPE (ID, NAME)
85 values (
1001,
'一室两厅');
86 insert into TYPE (ID, NAME)
87 values (
1002,
'两室一厅');
88 insert into TYPE (ID, NAME)
89 values (
1003,
'两室两厅');
90 insert into TYPE (ID, NAME)
91 values (
1004,
'三室一厅');
92 insert into TYPE (ID, NAME)
93 values (
1005,
'三室两厅');
94 insert into TYPE (ID, NAME)
95 values (
1006,
'四室一厅');
96 insert into TYPE (ID, NAME)
97 values (
1007,
'四室两厅');
98 insert into TYPE (ID, NAME)
99 values (
1008,
'四十三厅');
100 commit;
101 --HOUSE
102 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
103 VALUES(
1,
1001,
1002,
'中关村',
'中关村一条街',
2600,to_date(
'2014-02-14',
'yyyy-mm-dd'),
100,
'张三',
1000);
104 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
105 VALUES(
2,
1002,
1003,
'苏州街',
'苏州街一条街',
3600,to_date(
'2009-1-3',
'yyyy-mm-dd'),
100,
'李四',
1001);
106 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
107 VALUES(
3,
1003,
1004,
'万泉庄',
'万泉庄一条街',
4600,to_date(
'2009-1-4',
'yyyy-mm-dd'),
130,
'王鑫',
1002);
108 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
109 VALUES(
1,
1003,
1002,
'万泉庄附近',
'万泉庄附近一条街',
1500,to_date(
'2009-7-2',
'yyyy-mm-dd'),
125,
'张建',
1003);
110 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
111 VALUES(
1,
1005,
1002,
'东单',
'东单很多美食',
2700,to_date(
'2009-9-2',
'yyyy-mm-dd'),
140,
'蒋以然',
1001);
112 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
113 VALUES(
3,
1001,
1002,
'中关村',
'中关村电脑城',
2600,to_date(
'2009-4-1',
'yyyy-mm-dd'),
137,
'王晓超',
1003);
114 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
115 VALUES(
4,
1004,
1001,
'东四',
'东四一条街',
2000,to_date(
'2009-4-2',
'yyyy-mm-dd'),
200,
'王晓超',
1002);
116 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
117 VALUES(
5,
1006,
1003,
'西四',
'西四一条街',
3600,to_date(
'2009-1-2',
'yyyy-mm-dd'),
210,
'张冬雪',
1003);
118 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
119 VALUES(
5,
1007,
1002,
'西单',
'西单购物城',
3600,to_date(
'2009-4-2',
'yyyy-mm-dd'),
240,
'孙鹏',
1001);
120 INSERT INTO HOUSE(ID,
USER_ID,TYPE_ID,TITLE,DESCRIPTION,PRICE,PUBDATE,FLOORAGE,CONTACT,STREET_ID)
121 VALUES(
6,
1002,
1002,
'苏州街',
'苏州街美食',
2600,to_date(
'2009-2-2',
'yyyy-mm-dd'),
260,
'蒋连昌',
1000);
122 commit;
create.sql
第一步:打开idea

第二步:创建maven项目

第三步:创建项目名称


第四步:创建完成之后,选中src点击右键选择Directory创建java文件夹

第五步:选中java点击右键,选中 Mark Diectory as 选择Sources Root

第六步:选中main点击右键Directory创建resources文件夹

第七步:选中resources点击右键,选中 Mark Diectory as 选择Sources Root

第八步:点击 File — Project Structure —Facets,点击 "+" 选中hibernate


第九步:IDEA连接Oracle数据



1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 <modelVersion>4.0.0</modelVersion>
6
7 <groupId>com.bdqn</groupId>
8 <artifactId>Hid03</artifactId>
9 <version>1.0-SNAPSHOT</version>
10 <packaging>war</packaging>
11
12 <name>Hid03 Maven Webapp</name>
13 <!-- FIXME change it to the project's website -->
14 <url>http:
//www.example.com</url>
15
16 <properties>
17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18 <maven.compiler.source>1.7</maven.compiler.source>
19 <maven.compiler.target>1.7</maven.compiler.target>
20 </properties>
21
22 <dependencies>
23 <dependency>
24 <groupId>junit</groupId>
25 <artifactId>junit</artifactId>
26 <version>4.11</version>
27 <scope>test</scope>
28 </dependency>
29
30 <dependency>
31 <groupId>org.hibernate</groupId>
32 <artifactId>hibernate-core</artifactId>
33 <version>4.0.0.Final</version>
34 </dependency>
35
36 <dependency>
37 <groupId>com.oracle</groupId>
38 <artifactId>ojdbc6</artifactId>
39 <version>10.2.0.1.0</version>
40 </dependency>
41 <dependency>
42 <groupId>javax.servlet</groupId>
43 <artifactId>jstl</artifactId>
44 <version>1.2</version>
45 </dependency>
46
47 <dependency>
48 <groupId>javax.servlet</groupId>
49 <artifactId>javax.servlet-api</artifactId>
50 <version>3.0.1</version>
51 <scope>provided</scope>
52 </dependency>
53
54 <dependency>
55 <groupId>com.fasterxml.jackson.core</groupId>
56 <artifactId>jackson-databind</artifactId>
57 <version>2.8.3</version>
58 </dependency>
59 <dependency>
60 <groupId>org.apache.taglibs</groupId>
61 <artifactId>taglibs-standard-impl</artifactId>
62 <version>1.2.5</version>
63 </dependency>
64 </dependencies>
65
66
67 </project>
pom.xml

1 <?xml version='1.0' encoding='utf-8'?>
2 <!DOCTYPE hibernate-
configuration PUBLIC
3 "-//Hibernate/Hibernate Configuration DTD//EN"
4 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
5 <hibernate-configuration>
6 <session-factory>
7 <property name="connection.driver_class">oracle.jdbc.OracleDriver</property> <!--Oracle 数据驱动-->
8 <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> <!--数据库路径-->
9 <property name="connection.username">OT</property>
10 <property name="connection.password">1234</property>
11 <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property><!--数据库方言-->
12 <property name="show_sql">
true</property><!--生成的sql语句-->
13 <property name="format_sql">
true</property><!--sql格式化-->
14 <mapping resource="mapping/User.hbm.xml"/>
15 </session-factory>
16 </hibernate-configuration>
hibernate.cfg.xml

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
3 <hibernate-mapping>
4 <
class name="com.bdqn.entity.Users" table="Users">
5 <id name="id" type="java.lang.Integer" column="id">
6 <generator
class="increment"/>
7 </id>
8 <property name="name" type="java.lang.String" column="NAME"/>
9 <property name="password" type="java.lang.String" column="PASSWORD"/>
10 <property name="telephone" type="java.lang.String" column="TELEPHONE"/>
11 <property name="username" type="java.lang.String" column="USERNAME"/>
12 <property name="isadmin" type="java.lang.String" column="ISADMIN"/>
13
14 </
class>
15 </hibernate-mapping>
User.hbm.xml
dao层

1 package com.bdqn.dao;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.page.Page;
5 import java.util.List;
6
7 public interface UserDao {
8 /**
9 * 1.根据用户名和密码查询
10 *
11 * @param sname
12 * @param password
13 * @return
14 */
15 Users findByNameAndPwd(String sname, String password);
16
17 /**
18 * 2.延时加载:查询所有
19 *
20 * @return
21 */
22 List<Users>
findAll();
23
24 /**
25 * 3.保存
26 *
27 * @param stu
28 * @return
29 */
30 int save(Users stu);
31
32 /**
33 * 4.根据主键id查询单条
34 *
35 * @param sid
36 * @return
37 */
38 Users findById(Integer sid);
39
40 /**
41 * 5.修改
42 */
43 int update(Users stu);
44
45 /**
46 * 6.删除对象
47 *
48 * @param stu
49 * @return
50 */
51 int delete(Users stu);
52
53 /**
54 * 7.分页查询
55 */
56 List<Users>
findPage(Page page);
57
58 /**
59 * 8.查询总条数
60 */
61 int getTotalCount();
62 }
UserDao

1 package com.bdqn.dao.impl;
2
3 import com.bdqn.dao.UserDao;
4 import com.bdqn.entity.Users;
5 import com.bdqn.page.Page;
6 import com.bdqn.util.Hibernate_Util;
7 import org.hibernate.HibernateException;
8 import org.hibernate.Query;
9 import org.hibernate.Session;
10 import java.util.List;
11
12 public class UserDaoImpl
implements UserDao {
13 /**
14 * 1.查询所有:立即加载
15 */
16 public List<Users>
findAll() {
17 //1.获取session对象
18 Session session =
Hibernate_Util.getSession();
19 //2.定义hql语句
20 String hql = "from Users"
;
21 //3.Session创建Query对象
22 Query query =
session.createQuery(hql);
23 //4.query对象执行操作
24 List<Users> it =
query.list();
25 //5.释放资源
26 Hibernate_Util.closeSession();
27 return it;
28 }
29
30 /**
31 * 2.根据用户名和密码查询
32 */
33 public Users findByNameAndPwd(String sname, String password) {
34 //1.获取session对象
35 Session session =
Hibernate_Util.getSession();
36 //2.定义hql语句(命名参数)
37 String hql = "from Users where name=:name and password=:password"
;
38 //3.Session创建Query对象
39 Query query =
session.createQuery(hql);
40 //4.query对象给占位符赋值
41 /*query.setString("sname", sname);
42 query.setString("password", password);*/
43 query.setParameter("name"
, sname);
44 query.setParameter("password"
, password);
45
46 //query.setProperties(user);
47 //5.执行操作(uniqueResult()查询的单行数据)
48 Users stu =
(Users) query.uniqueResult();
49 //6.释放资源
50 Hibernate_Util.closeSession();
51 return stu;
52
53 }
54
55
56 /**
57 * 根据id主键查询单条
58 */
59 public Users findById(Integer sid) {
60 //1.获取session对象
61 Session session =
Hibernate_Util.getSession();
62 //2.利用session根据主键查询
63 Users stu = (Users) session.get(Users.
class, sid);
64 /*3.
65 * 因为在修改时要提前查询单条,和session关联已经变成持久化对象,
66 * 而在修改时session执行update方法时,
67 * 首先会查询该主键id是否存在,
68 * 如果存在,则根据主键id修改该对象,此时对象已经处于持久化对象,
69 * 而实际session中不能同时存在两个主键id相同的对象,
70 * 否则会出现如下错误:
71 * org.hibernate.NonUniqueObjectException:
72 * a different object with the same identifier
73 * value was already associated with the
74 * session: [com.entity.Student#1]
75 */
76 Hibernate_Util.closeSession();
77 // session.clear();
78 return stu;
79 }
80
81 /**
82 * 删除对象
83 */
84 public int delete(Users stu) {
85 int num = 1
;
86 //1.获取session对象
87 Session session =
Hibernate_Util.getSession();
88
89 try {
90 //session删除操作
91 session.delete(stu);
92 session.beginTransaction().commit();
93 }
catch (HibernateException e) {
94 num = 0
;
95 // TODO Auto-generated catch block
96 e.printStackTrace();
97 }
finally {
98 //5.释放资源
99 Hibernate_Util.closeSession();
100 }
101
102 return num;
103 }
104
105 /**
106 * 添加
107 */
108 public int save(Users stu) {
109 int num = 1
;
110 //1.获取session对象
111 Session session =
Hibernate_Util.getSession();
112 //执行操作
113 try {
114 session.save(stu);
115 session.beginTransaction().commit();
116 }
catch (HibernateException e) {
117 num = 0
;
118 e.printStackTrace();
119 }
finally {
120 //5.释放资源
121 Hibernate_Util.closeSession();
122 }
123 return num;
124 }
125
126 /**
127 * 修改
128 */
129 public int update(Users stu) {
130 int num = 1
;
131 //1.获取session对象
132 Session session =
Hibernate_Util.getSession();
133 try {
134 //执行操作
135 //该对象的主键id必须存在
136 session.update(stu);
137 session.beginTransaction().commit();
138 }
catch (HibernateException e) {
139 num = 0
;
140 e.printStackTrace();
141 }
finally {
142 //5.释放资源
143 Hibernate_Util.closeSession();
144 }
145 return num;
146 }
147
148 /**
149 * 7.分页查询
150 */
151 public List<Users>
findPage(Page page) {
152 //1.获取session
153 Session session =
Hibernate_Util.getSession();
154
155 //2.定义查询最大记录数的hql
156 String hql = "from Users "
;
157
158 //3.定义查询最大记录数的Query对象
159 Query querypage =
session.createQuery(hql);
160
161 //4.查询最大记录数的数据
162 querypage.setMaxResults(page.getPagesize());
163
164 //5.确定查询起点
165 querypage.setFirstResult(page.getStartrow());
166
167 //6.分页查询
168 List<Users> list =
querypage.list();
169
170 //7.关闭session
171 Hibernate_Util.closeSession();
172
173 return list;
174 }
175
176 /**
177 * 8.查询总条数
178 */
179 public int getTotalCount() {
180 //1.获取session
181 Session session =
Hibernate_Util.getSession();
182
183 //2.定义查询总条数hql语句
184 String hqlcount = "select count(*) from Users "
;
185
186 //3.利用Session创建Query对象
187 Query querycount =
session.createQuery(hqlcount);
188
189 //4.获取总条数(返回单行数据uniqueResult())
190 Integer totalCount =
Integer.parseInt(querycount.uniqueResult().toString());
191 //5.释放资源
192 Hibernate_Util.closeSession();
193 return totalCount;
194 }
195 }
UserDaoImpl
page层

1 package com.bdqn.page;
2
3 public class Page {
4 private Integer pagesize;
//页面大小
5 private Integer pageno;
//当前页
6 private Integer startrow;
//起始行
7 private Integer totalpage;
//总页数
8 private Integer totalcount;
//总条数
9
10
11 public Page() {
12 }
13
14 public Page(Integer pageSize, Integer pageNo, Integer totalCount) {
15 this.pagesize = pageSize;
//页面大小
16 this.pageno = pageNo;
//当前页
17 this.totalcount = totalCount;
//计算总条数
18 this.setStartrow(pageNo, pageSize);
//计算起始行
19 this.setTotalpage(totalCount, pageSize);
//计算总页数
20 }
21
22 public Integer getPagesize() {
23 return pagesize;
24 }
25
26 public void setPagesize(Integer pageSize) {
27 this.pagesize =
pageSize;
28 }
29
30 public Integer getPageno() {
31 return pageno;
32 }
33
34 public void setPageno(Integer pageNo) {
35 this.pageno =
pageNo;
36 }
37
38 public Integer getStartrow() {
39 return startrow;
40 }
41
42 /**
43 * 计算起始行
44 *
45 * @param pageNo
46 * @param pageSize
47 */
48 public void setStartrow(Integer pageNo, Integer pageSize) {
49 this.startrow = (pageNo - 1) *
pageSize;
50 }
51
52 public Integer getTotalpage() {
53 return totalpage;
54 }
55
56 /**
57 * 计算总页数
58 *
59 * @param totalCount
60 * @param pageSize
61 */
62 public void setTotalpage(Integer totalCount, Integer pageSize) {
63 this.totalpage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1
;
64 }
65
66 public Integer getTotalcount() {
67 return totalcount;
68 }
69
70 public void setTotalCount(Integer totalCount) {
71 this.totalcount =
totalCount;
72 }
73
74 @Override
75 public String toString() {
76 return "[{\"pageno\":" + pageno + ",\"pagesize\":" +
pagesize
77 + ",\"startrow\":" + startrow + ",\"totalcount\":" +
totalcount
78 + ",\"totalpage\":" + totalpage + "}]"
;
79 }
80 }
Page
service层

1 package com.bdqn.service;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.page.Page;
5
6 import java.util.List;
7
8 public interface UserService {
9 /**
10 * 1.登录的业务
11 *
12 * @param sname
13 * @param password
14 * @return
15 */
16 Users login(String sname, String password);
17
18 /**
19 * 2.注册
20 *
21 * @param stu
22 * @return
23 */
24 int register(Users stu);
25
26 /**
27 * 3.查询所有
28 */
29 List<Users>
findAll();
30
31 /**
32 * 4.根据主键id查询
33 *
34 * @param sid
35 * @return
36 */
37 Users findById(Integer sid);
38
39 /**
40 * 5.修改
41 */
42 int update(Users stu);
43
44 /**
45 * 6.删除
46 */
47 int delete(Users stu);
48
49 /**
50 * 7.分页查询
51 */
52 List<Users>
findPage(Page page);
53
54 /**
55 * 8.查询总条数
56 */
57 int getTotalCount();
58
59 }
UserService

1 package com.bdqn.service.impl;
2
3 import com.bdqn.dao.UserDao;
4 import com.bdqn.dao.impl.UserDaoImpl;
5 import com.bdqn.entity.Users;
6 import com.bdqn.page.Page;
7 import com.bdqn.service.UserService;
8
9 import java.util.List;
10
11 public class UserServiceImpl
implements UserService {
12 /**
13 * 使用多态引用数据访问层对象
14 */
15 private UserDao dao =
new UserDaoImpl();
16
17 /**
18 * 登录
19 */
20 public Users login(String sname, String password) {
21 return dao.findByNameAndPwd(sname, password);
22 }
23
24 public int delete(Users stu) {
25 // TODO Auto-generated method stub
26 return dao.delete(stu);
27 }
28
29 public List<Users>
findAll() {
30 // TODO Auto-generated method stub
31 return dao.findAll();
32 }
33
34 public Users findById(Integer sid) {
35 // TODO Auto-generated method stub
36 return dao.findById(sid);
37 }
38
39 public int register(Users stu) {
40 // TODO Auto-generated method stub
41 return dao.save(stu);
42 }
43
44 public int update(Users stu) {
45 // TODO Auto-generated method stub
46 return dao.update(stu);
47 }
48
49 public List<Users>
findPage(Page page) {
50 // TODO Auto-generated method stub
51 return dao.findPage(page);
52 }
53
54 public int getTotalCount() {
55 // TODO Auto-generated method stub
56 return dao.getTotalCount();
57 }
58
59 }
UserServiceImpl
servlet层
实现删除功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.service.UserService;
5 import com.bdqn.service.impl.UserServiceImpl;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12
13 public class DeleteSerlvet
extends HttpServlet {
14 public void doGet(HttpServletRequest request, HttpServletResponse response)
15 throws ServletException, IOException {
16
17 this.doPost(request, response);
18 }
19
20 public void doPost(HttpServletRequest request, HttpServletResponse response)
21 throws ServletException, IOException {
22 request.setCharacterEncoding("UTF-8"
);
23 response.setCharacterEncoding("UTF-8"
);
24 response.setContentType("text/html;charset=UTF-8"
);
25
26 // 2.接受参数
27 Integer sid=Integer.valueOf(request.getParameter("id"
));
28 // 3.业务处理
29 UserService service =
new UserServiceImpl();
30 Users stu=
service.findById(sid);
31 if (stu !=
null) {
32 System.out.println("根据id查询成功"
);
33 int num=
service.delete(stu);
34 if(num>0
){
35 System.out.println("delete success!!"
);
36 // 4.页面跳转
37 response.sendRedirect("FindAllServlet"
);
38
39 }
else{
40 System.out.println("delete success!!"
);
41
42 }
43 }
else {
44 System.out.println("根据id查询失败!"
);
45
46 }
47
48 }
49
50 }
DeleteSerlvet
实现统计总记录数功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.page.Page;
5 import com.bdqn.service.UserService;
6 import com.bdqn.service.impl.UserServiceImpl;
7
8 import javax.servlet.ServletException;
9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 import java.io.IOException;
13 import java.io.PrintWriter;
14 import java.util.List;
15
16
17 public class FindAllServlet
extends HttpServlet {
18 public void doGet(HttpServletRequest request, HttpServletResponse response)
19 throws ServletException, IOException {
20
21 this.doPost(request, response);
22 }
23
24
25 public void doPost(HttpServletRequest request, HttpServletResponse response)
26 throws ServletException, IOException {
27 request.setCharacterEncoding("UTF-8"
);
28 response.setCharacterEncoding("UTF-8"
);
29 response.setContentType("text/html;charset=UTF-8"
);
30
31 /**
32 * ☆
33 * 在使用ajax往前台通过输出流对象的print方法发送json时
34 * 该行获取输出流对象的代码必须放在
35 * response.setContentType("text/html;charset=UTF-8");
36 * 之后,否则ajax回调时,页面拿到的中文数据就永远都是乱码,
37 * 原因是:如果将改行代码写在处理客户端乱码之前,表示编码格式已经确定,
38 * 所以,编码格式的处理应该放在获取PrintWriter对象之前
39 *
40 */
41 PrintWriter out =
response.getWriter();
42
43
44 // 2.接受参数
45 String no = request.getParameter("pageNo"
);
46
47
48 // 3.业务处理
49 UserService service =
new UserServiceImpl();
50
51 int pageSize = 3;
//页面大小
52 int pageNo = 1;
//默认的pageNo为1
53 if (no !=
null && no != ""
) {
54 pageNo =
Integer.valueOf(no);
55 }
56 //获取总条数
57 int totalCount =
service.getTotalCount();
58 Page page =
new Page(pageSize, pageNo, totalCount);
59
60 List<Users> list =
service.findPage(page);
61 if (list !=
null) {
62 System.out.println("find All page success"
);
63 request.setAttribute("list"
, list);
64 request.setAttribute("page"
, page);
65 request.getRequestDispatcher("index.jsp"
).forward(request, response);
66 }
else {
67 System.out.println("find All page fail!"
);
68
69
70 }
71
72 }
73 }
FindAllServlet
实现根据条件查询功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.service.UserService;
5 import com.bdqn.service.impl.UserServiceImpl;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12
13
14 public class FindByIdSerlvet
extends HttpServlet {
15 public void doGet(HttpServletRequest request, HttpServletResponse response)
16 throws ServletException, IOException {
17
18 this.doPost(request, response);
19 }
20
21 public void doPost(HttpServletRequest request, HttpServletResponse response)
22 throws ServletException, IOException {
23 request.setCharacterEncoding("UTF-8"
);
24 response.setCharacterEncoding("UTF-8"
);
25 response.setContentType("text/html;charset=UTF-8"
);
26
27 // 2.接受参数
28 Integer sid=Integer.valueOf(request.getParameter("id"
));
29
30 // 3.业务处理
31 UserService service =
new UserServiceImpl();
32
33 Users stu=
service.findById(sid);
34 System.out.println("stu:"+
stu);
35 if(stu!=
null){
36 System.out.println("根据id查询到对象"
);
37 request.setAttribute("stu"
, stu);
38 request.getRequestDispatcher("update.jsp"
).forward(request, response);
39 }
else{
40 System.out.println("没有根据id查询到对象"
);
41 }
42
43 }
44 }
FindByIdSerlvet
实现分页功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.page.Page;
5 import com.bdqn.service.UserService;
6 import com.bdqn.service.impl.UserServiceImpl;
7 import com.fasterxml.jackson.databind.ObjectMapper;
8
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13 import java.io.IOException;
14 import java.io.PrintWriter;
15 import java.util.List;
16
17
18 public class FindPageServlet
extends HttpServlet {
19
20 public void doGet(HttpServletRequest request, HttpServletResponse response)
21 throws ServletException, IOException {
22
23 this.doPost(request, response);
24 }
25
26 public void doPost(HttpServletRequest request, HttpServletResponse response)
27 throws ServletException, IOException {
28 response.setContentType("text/html;charset=UTF-8"
);
29 request.setCharacterEncoding("UTF-8"
);
30 response.setCharacterEncoding("UTF-8"
);
31 /**
32 * ☆
33 * 在使用ajax往前台通过输出流对象的print方法发送json时
34 * 该行获取输出流对象的代码必须放在
35 * response.setContentType("text/html;charset=UTF-8");
36 * 之后,否则ajax回调时,页面拿到的中文数据就永远都是乱码,
37 * 原因是:如果将改行代码写在处理客户端乱码之前,表示编码格式已经确定,
38 * 所以,编码格式的处理应该放在获取PrintWriter对象之前
39 *
40 */
41 PrintWriter out=
response.getWriter();
42
43
44 // 2.接受参数
45 String no=request.getParameter("pageNo"
);
46
47
48 // 3.业务处理
49 UserService service =
new UserServiceImpl();
50
51 int pageSize=3;
//页面大小
52 int pageNo=1;
//默认的pageNo为1
53 if(no!=
null && no!=""
){
54 pageNo=
Integer.valueOf(no);
55 }
56 //获取总条数
57 int totalCount=
service.getTotalCount();
58 //封装分页所需字段
59 Page page=
new Page(pageSize, pageNo, totalCount);
60 //分页查询
61 List<Users> list =
service.findPage(page);
62
63 ObjectMapper om=
new ObjectMapper();
64 String str=
om.writeValueAsString(list);
65 String pagestr=
om.writeValueAsString(page);
66 str="{\"page\":"+pagestr+",\"list\":"+str+"}"
;
67 System.out.println(str);
68
69 out.print(str);
70
71
72 }
73 }
FindPageServlet
实现登录功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.service.UserService;
5 import com.bdqn.service.impl.UserServiceImpl;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12
13 public class LoginServlet
extends HttpServlet {
14 public void doGet(HttpServletRequest request, HttpServletResponse response)
15 throws ServletException, IOException {
16
17 this.doPost(request, response);
18 }
19
20
21 public void doPost(HttpServletRequest request, HttpServletResponse response)
22 throws ServletException, IOException {
23 request.setCharacterEncoding("UTF-8"
);
24 response.setCharacterEncoding("UTF-8"
);
25 response.setContentType("text/html;charset=UTF-8"
);
26
27 //2.接受参数
28 String name = request.getParameter("name"
);
29 String password = request.getParameter("password"
);
30 //3.业务处理
31 UserService service =
new UserServiceImpl();
32 Users stu =
service.login(name, password);
33 if (stu !=
null) {
34 System.out.println("login success!"
);
35 //4.页面跳转
36 request.getSession().setAttribute("name"
, name);
37 response.sendRedirect("FindAllServlet"
);
38 }
else {
39 System.out.println("login fail!"
);
40
41 }
42
43 }
44 }
LoginServlet
实现添加功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.service.UserService;
5 import com.bdqn.service.impl.UserServiceImpl;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12
13
14 public class RegisterServlet
extends HttpServlet {
15 public void doGet(HttpServletRequest request, HttpServletResponse response)
16 throws ServletException, IOException {
17
18 this.doPost(request, response);
19 }
20
21 public void doPost(HttpServletRequest request, HttpServletResponse response)
22 throws ServletException, IOException {
23 request.setCharacterEncoding("UTF-8"
);
24 response.setCharacterEncoding("UTF-8"
);
25 response.setContentType("text/html;charset=UTF-8"
);
26
27 // 2.接受参数
28
29 String name = request.getParameter("name"
);
30 String password = request.getParameter("password"
);
31 String telephone = request.getParameter("telephone"
);
32 String username = request.getParameter("username"
);
33 String isadmin = request.getParameter("isadmin"
);
34
35 Users stu =
new Users(name, password, telephone, username,isadmin);
36
37 // 3.业务处理
38 UserService service =
new UserServiceImpl();
39 int num =
service.register(stu);
40 if (num > 0
) {
41 System.out.println("register success!"
);
42 response.sendRedirect("FindAllServlet"
);
43 }
else {
44 System.out.println("register fail!"
);
45
46 }
47
48 }
49 }
RegisterServlet
实现修改功能

1 package com.bdqn.servlet;
2
3 import com.bdqn.entity.Users;
4 import com.bdqn.service.UserService;
5 import com.bdqn.service.impl.UserServiceImpl;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12
13
14 public class UpdateServlet
extends HttpServlet {
15 public void doGet(HttpServletRequest request, HttpServletResponse response)
16 throws ServletException, IOException {
17
18 this.doPost(request, response);
19 }
20
21 public void doPost(HttpServletRequest request, HttpServletResponse response)
22 throws ServletException, IOException {
23 request.setCharacterEncoding("UTF-8"
);
24 response.setCharacterEncoding("UTF-8"
);
25 response.setContentType("text/html;charset=UTF-8"
);
26
27 // 2.接受参数
28 Integer id = Integer.valueOf(request.getParameter("id"
));
29 String name = request.getParameter("name"
);
30 String password = request.getParameter("password"
);
31 String telephone = request.getParameter("telephone"
);
32 String username = request.getParameter("username"
);
33 String isadmin = request.getParameter("isadmin"
);
34 Users stu =
new Users(id,name, password, telephone, username,isadmin);
35
36 // 3.业务处理
37 UserService service =
new UserServiceImpl();
38 int num=
service.update(stu);
39 if(num>0
){
40 System.out.println("update success!"
);
41 response.sendRedirect("FindAllServlet"
);
42 }
else{
43 System.out.println("update fail!"
);
44
45 }
46
47 }
48 }
UpdateServlet
Util层
Hibernate封装类

1 package com.bdqn.util;
2
3 import org.hibernate.HibernateException;
4 import org.hibernate.Session;
5 import org.hibernate.SessionFactory;
6 import org.hibernate.cfg.Configuration;
7
8 public class Hibernate_Util {
9 private static ThreadLocal<Session> threadLocal =
new ThreadLocal<Session>
();
10 private static Configuration configuration =
null;
11 private static SessionFactory sessionFactory =
null;
12
13 static {
14
15 try {
16 configuration =
new Configuration().configure("/hibernate.cfg.xml"
);
17 sessionFactory =
configuration.buildSessionFactory();
18 }
catch (HibernateException e) {
19 System.out.println("解析xml和创建Session工厂error"
);
20 e.printStackTrace();
21 }
22
23 }
24
25 public static Session getSession() {
26 Session session =
threadLocal.get();
27 if (session ==
null) {
28 session =
sessionFactory.openSession();
29 threadLocal.set(session);
30 }
31 return session;
32 }
33
34 public static void closeSession() {
35 Session session =
threadLocal.get();
36 if (session !=
null) {
37 threadLocal.set(
null);
38 session.close();
39 }
40 }
41 }
Hibernate_Util
JSP

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3 <%
4 String path = request.getContextPath();
5 String basePath = request.getScheme() + "://"
6 + request.getServerName() + ":" + request.getServerPort()
7 + path + "/";
8 %>
9
10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
11 <html>
12 <head>
13 <base href="<%=basePath%>">
14
15 <title>My JSP 'index.jsp' starting page
</title>
16 <meta http-equiv="pragma" content="no-cache">
17 <meta http-equiv="cache-control" content="no-cache">
18 <meta http-equiv="expires" content="0">
19 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
20 <meta http-equiv="description" content="This is my page">
21 <!--
22 <link rel="stylesheet" type="text/css" href="styles.css">
23 -->
24 <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
25 <script type="text/javascript" src="js/ajaxindex.js"></script>
26 </head>
27
28 <body>
29 <CENTER>
30
31 <table></table>
32 <div>
33 第
<span id="pageNo"></span>/
<span id="totalPage"></span>页
34 <a href="javascript:void(0);" class="apage">首页
</a>
35 <a href="javascript:void(0);" class="apage">上一页
</a>
36 <a href="javascript:void(0);" class="apage">下一页
</a>
37 <a href="javascript:void(0);" class="apage">末页
</a>
38 共
<span id="totalCount"></span>条
39 </div>
40
41 </CENTER>
42
43 </body>
44 </html>
45
46 ajaxindex.jsp
ajaxindex.jsp

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3 <%
4 String path = request.getContextPath();
5 String basePath = request.getScheme() + "://"
6 + request.getServerName() + ":" + request.getServerPort()
7 + path + "/";
8 %>
9
10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
11 <html>
12 <head>
13 <base href="<%=basePath%>">
14
15 <title>My JSP 'index.jsp' starting page
</title>
16 <meta http-equiv="pragma" content="no-cache">
17 <meta http-equiv="cache-control" content="no-cache">
18 <meta http-equiv="expires" content="0">
19 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
20 <meta http-equiv="description" content="This is my page">
21 <!--
22 <link rel="stylesheet" type="text/css" href="styles.css">
23 -->
24 </head>
25
26 <body>
27 <CENTER>
28 <table border="1px" width="60%">
29 <tr>
30 <td colspan="6">
31 <a href="register.jsp">注册
</a>
32 </td>
33 </tr>
34 <tr>
35 <td>
36 用户编号
37 </td>
38 <td>
39 用户名
40 </td>
41 <td>
42 密码
43 </td>
44 <td>
45 电话
46 </td>
47 <td>
48 姓名
49 </td>
50 <td>
51 操作
52 </td>
53 </tr>
54
55 <c:forEach var="i" items="${list}">
56 <tr>
57 <td>
58 ${i.id }
59 </td>
60 <td>
61 ${i.name }
62 </td>
63 <td>
64 ${i.password }
65 </td>
66 <td>
67 ${i.telephone }
68 </td>
69
70 <td>
71 ${i.username }
72 </td>
73 <td>
74 <a href="FindByIdSerlvet?id=${i.id}">修改
</a>
75
76 <a href="DeleteSerlvet?id=${i.id}">删除
</a>
77
78 </td>
79 </tr>
80 </c:forEach>
81
82 </table>
83 <div>
84
85
86 第${page.pageno}/${page.totalpage}页
87 <a href="FindAllServlet?pageNo=1">首页
</a>
88 <c:choose>
89 <c:when test="${page.pageno gt 1}">
90 <a href="FindAllServlet?pageNo=${page.pageno-1 }">上一页
</a>
91 </c:when>
92 <c:otherwise>
93 <a href="javascript:alert('已经是第一页了,没有上一页!');">上一页
</a>
94 </c:otherwise>
95 </c:choose>
96 <c:choose>
97 <c:when test="${page.pageno lt page.totalpage}">
98 <a href="FindAllServlet?pageNo=${page.pageno+1 }">下一页
</a>
99 </c:when>
100 <c:otherwise>
101 <a href="javascript:alert('已经是最有一页了,没有下一页!');">下一页
</a>
102 </c:otherwise>
103 </c:choose>
104
105 <a href="FindAllServlet?pageNo=${page.totalpage}">末页
</a>
106
107 共${page.totalcount}条
108
109 </div>
110
111 </CENTER>
112
113 </body>
114 </html>
index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page
</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<fieldset style="width: 300px;">
<legend>
登录
</legend>
<form action="LoginServlet" method="post">
<table>
<tr>
<td>
用户名:
</td>
<td>
<input type="text" name="name" />
</td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="password" name="password" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交" />
</td>
<td>
<input type="reset" value="重置" />
</td>
</tr>
</table>
</form>
</fieldset>
</center>
</body>
</html>
long.jsp

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3 <%
4 String path = request.getContextPath();
5 String basePath = request.getScheme() + "://"
6 + request.getServerName() + ":" + request.getServerPort()
7 + path + "/";
8 %>
9
10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
11 <html>
12 <head>
13 <base href="<%=basePath%>">
14
15 <title>My JSP 'index.jsp' starting page
</title>
16 <meta http-equiv="pragma" content="no-cache">
17 <meta http-equiv="cache-control" content="no-cache">
18 <meta http-equiv="expires" content="0">
19 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
20 <meta http-equiv="description" content="This is my page">
21 <!--
22 <link rel="stylesheet" type="text/css" href="styles.css">
23 -->
24 </head>
25
26 <body>
27 <center>
28 <fieldset style="width: 300px;">
29 <legend>
30 注册
31 </legend>
32 <form action="RegisterServlet" method="post">
33 <table>
34 <tr>
35 <td>
36 用户名:
37 </td>
38 <td>
39 <input type="text" name="name"/>
40 </td>
41 </tr>
42 <tr>
43 <td>
44 密码:
45 </td>
46 <td>
47 <input type="password" name="password"/>
48 </td>
49 </tr>
50 <tr>
51 <td>
52 电话:
53 </td>
54 <td>
55 <input type="text" name="telephone"/>
56 </td>
57 </tr>
58 <tr>
59 <td>
60 姓名:
61 </td>
62 <td>
63 <input type="text" name="username"/>
64 </td>
65 </tr>
66 <tr>
67 <td>
68 <input type="submit" value="修改"/>
69 </td>
70 <td>
71 <input type="reset" value="重置"/>
72 </td>
73 </tr>
74 </table>
75 </form>
76 </fieldset>
77 </center>
78 </body>
79 </html>
register.jsp

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3 <%
4 String path = request.getContextPath();
5 String basePath = request.getScheme() + "://"
6 + request.getServerName() + ":" + request.getServerPort()
7 + path + "/";
8 %>
9
10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
11 <html>
12 <head>
13 <base href="<%=basePath%>">
14 <title>My JSP 'index.jsp' starting page
</title>
15 <meta http-equiv="pragma" content="no-cache">
16 <meta http-equiv="cache-control" content="no-cache">
17 <meta http-equiv="expires" content="0">
18 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19 <meta http-equiv="description" content="This is my page">
20 <!--
21 <link rel="stylesheet" type="text/css" href="styles.css">
22 -->
23 </head>
24
25 <body>
26 <center>
27 <fieldset style="width: 300px;">
28 <legend>
29 <br>修改
30 </legend>
31 <form action="UpdateServlet?id=${stu.id}" method="post">
32 <table border="1px" width="60%">
33 <tr>
34 <td>
35 用户名:
36 </td>
37 <td>
38 <input type="text" name="name" value="${stu.name}"/>
39 </td>
40 </tr>
41 <tr>
42 <td>
43 密码:
44 </td>
45 <td>
46 <input type="password" name="password" value="${stu.password}"/>
47 </td>
48 </tr>
49 <tr>
50 <td>
51 电话:
52 </td>
53 <td>
54 <input type="text" name="telephone" value="${stu.telephone}"/>
55 </td>
56 </tr>
57 <tr>
58 <td>
59 姓名:
60 </td>
61 <td>
62 <input type="text" name="username" value="${stu.username}"/>
63 </td>
64 </tr>
65
66 <tr>
67 <td>
68 <input type="submit" value="修改" />
69 </td>
70 <td>
71 <input type="reset" value="重置" />
72 </td>
73 </tr>
74 </table>
75 </form>
76 </fieldset>
77 </center>
78 </body>
79 </html>
update.jsp
用户点评