使用maven搭建Hibernate

时光毁灭记忆、已成空白 提交于 2019-12-01 17:11:03

                                                            使用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>页   &nbsp;&nbsp;
34         <a href="javascript:void(0);" class="apage">首页</a>  &nbsp;&nbsp;
35         <a href="javascript:void(0);" class="apage">上一页</a> &nbsp;&nbsp;
36         <a href="javascript:void(0);" class="apage">下一页</a> &nbsp;&nbsp;
37         <a href="javascript:void(0);" class="apage">末页</a>&nbsp;&nbsp;
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                     &nbsp;&nbsp;
 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}页 &nbsp;&nbsp;
 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         &nbsp;&nbsp;
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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!