日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts2+Hibernate实现用户登陆功能

發(fā)布時(shí)間:2025/6/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2+Hibernate实现用户登陆功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)現(xiàn)的功能,在登陸頁面輸入U(xiǎn)sername和PassWord后,將username和password通過Hibernate匹對(duì)數(shù)據(jù)庫是否含有一樣的username和password,若有則登陸進(jìn)去,若沒有則返回到登陸頁面

顯示層

<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body><form action="userlogin">用戶名:<input type="text" name="username"><br/>密碼:<input type="password" name="password"><br/><input type="submit" value="submit"><input type="reset" value="reset"></form> </body> </html>

?

model層

User

package com.zs.model;public class User {private String username;private String password;private Short sex;private String email;private String address;private String grade;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Short getSex() {return sex;}public void setSex(Short sex) {this.sex = sex;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;} }

User.hbm.xml:

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2014-12-14 14:51:48 by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping><class name="com.zs.model.User" table="USER"><id name="username" type="java.lang.String"><column name="USERNAME" /><generator class="assigned" /></id><property name="password" type="java.lang.String"><column name="PASSWORD" /></property><property name="sex" type="java.lang.Short"><column name="SEX" /></property><property name="email" type="java.lang.String"><column name="EMAIL" /></property><property name="address" type="java.lang.String"><column name="ADDRESS" /></property><property name="grade" type="java.lang.String"><column name="GRADE" /></property></class> </hibernate-mapping>

?

Hibernate:

配置hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration><session-factory><!--連接數(shù)據(jù)庫的配置--><property name="connection.username">root</property><property name="connection.password">root</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql:///hibernate</property><property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="show_sql">true</property><property name="hibernate.format_sql">true</property><property name="hibernate.hbm2ddl.auto">update</property><!--數(shù)據(jù)庫映射Java用戶--><mapping resource="com/zs/model/User.hbm.xml" /></session-factory> </hibernate-configuration>

?

Struts:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="default" extends="struts-default"><!--登陸主頁面時(shí)候的Action--><action name="index"><result>/index.jsp</result></action><!--在index.jsp提交submit后若登陸成功則轉(zhuǎn)到adminlogin,否則轉(zhuǎn)到index--><action name="userlogin" class="com.zs.web.admin.AdminLoginAction"><result name="success">/admin/adminlogin.jsp</result><result name="input">/index.jsp</result></action></package></struts>

?

Action:

package com.zs.web.admin;import java.util.Map;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport; import com.zs.dao.UserDao; import com.zs.dao.impl.UserDaoImpl; import com.zs.model.User;public class AdminLoginAction extends ActionSupport implements SessionAware {/*** */private static final long serialVersionUID = 1L;UserDao dao = new UserDaoImpl();private String username;private String password;private Map<String,Object> session;public String execute(){User user = dao.isValidAdmin(username, password);//將username和password傳遞到dao層交個(gè)hibernate判斷if(user!=null){session.put("user", user);//若登陸成功則將該user記錄在session中return SUCCESS;}else{addActionError("你沒有管理權(quán)限");return INPUT;}}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Map getSession() {return session;}public void setSession(Map session) {this.session = session;}}

?

判斷用戶和密碼是否存在于數(shù)據(jù)庫中

package com.zs.dao.impl;import java.util.List;import com.zs.dao.BaseDaoImpl; import com.zs.dao.UserDao; import com.zs.model.User;public class UserDaoImpl extends BaseDaoImpl implements UserDao {@Overridepublic void saveUser(User user) {// TODO Auto-generated method stub }@Overridepublic List<User> getAll(Class clazz) {// TODO Auto-generated method stubreturn null;}@Overridepublic User isValidUser(String username, String password) {// TODO Auto-generated method stubreturn null;}//判斷數(shù)據(jù)庫中時(shí)候含有該用戶 @Overridepublic User isValidAdmin(String username, String password) {User user = null;//調(diào)用hibernateList<User> list =super.search("FROM User WHERE grade='admin' AND username ='"+username+"' AND password = '"+password+"'");if(list!=null && list.size()>0){//若找到的list不為空那么則說明數(shù)據(jù)庫中包含這個(gè)人user = list.get(0);}return user;}}

?

Hibernate初始化借口并且從數(shù)據(jù)庫中取數(shù)據(jù)

package com.zs.dao;import java.util.List;import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder;public class BaseDaoImpl implements IBaseDao {private SessionFactory sessionFactory;private Session session;private Transaction transaction;//初始session接口public void init(){Configuration configuration = new Configuration().configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();transaction = session.beginTransaction();}@Overridepublic Session getSession() {init();return session;}@Overridepublic void closeSession() {session.close();}@Overridepublic List search(String hql) {//調(diào)用session接口Session session = null;session = getSession();List alist = null;alist = session.createQuery(hql).list();//從數(shù)據(jù)庫中查詢 session.close();return alist;}}

?

?

可以先建好一個(gè)名為User的數(shù)據(jù)庫,設(shè)置一個(gè)用戶,然后便可以測(cè)試了

完整代碼可以在我github下載:https://github.com/calmound/web/tree/master/web


總結(jié)

以上是生活随笔為你收集整理的struts2+Hibernate实现用户登陆功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线一区二区 | 91精品中文字幕 | 人妻夜夜爽天天爽三区麻豆av网站 | 麻豆视频一区 | jizjiz中国少妇高潮水多 | 伊人春色在线视频 | 日本高清一区二区视频 | 亚洲视频一区二区在线观看 | 欲色网站 | 亚洲欧美久久 | 久操视频在线播放 | 日本欧美久久久久免费播放网 | 麻豆传媒在线视频 | 丁香婷婷网 | 91成人看 | 黄色香蕉视频 | 国产日韩一区 | 黄色网占| 欧美人与性动交xxⅹxx | 性一交一乱一精一晶 | 瑟瑟视频网站 | 久久久久久久伊人 | 牛牛精品视频 | 性a视频| av av片在线看 | 六月丁香激情 | 美女的隐私免费看 | 9人人澡人人爽人人精品 | 亚洲日日骚| 男女日批免费视频 | 欧美两根一起进3p做受视频 | 午夜福利电影一区 | 国产精品视频一区二区三区在3 | 操一操 | 九色福利 | 蜜臀999| 亚洲草逼 | 男同志毛片特黄毛片 | 成人午夜sm精品久久久久久久 | 在线一区二区三区四区五区 | 高h教授1v1h喂奶 | 91视频日本| 少妇丰满尤物大尺度写真 | 日本性视频网站 | 国产在线欧美 | 美女国产精品 | 国产精品久久久久久 | 亚洲自拍第三页 | 亚洲 欧美 国产 另类 | 九草在线 | 欧洲一区二区视频 | 日本不卡一二三区 | 欲色网站 | 一级a性色生活片久久无 | 色播在线播放 | 国产精品福利网站 | 成人精品免费网站 | 日日操日日干 | 国产成人精品综合久久久久99 | 国产91久久精品一区二区 | 香蕉久久av一区二区三区 | 竹菊影视一区二区三区 | 北条麻妃二三区 | 国产高清一级片 | 黄色在线视频观看 | 中文一区二区 | 黄色一级片在线免费观看 | 欧洲成人在线观看 | 蜜桃av免费在线观看 | 日韩成人av在线播放 | 91精品国产91综合久久蜜臀 | 美国一级片网站 | 不卡av一区 | 激情成人综合 | 国产三级在线观看完整版 | 成人激情文学 | 国产123| 性生交大片免费看3p | 午夜67194| 欧美bbbbbbbbbbbb精品 | 蜜臀99久久精品久久久久小说 | 777欧美| 亚洲av成人无码久久精品老人 | 欧美 亚洲 一区 | 蜜臀av性久久久久av蜜臀妖精 | 秋霞av一区二区三区 | 国产精品视频第一页 | 亚洲成人高清在线观看 | 欧美日韩久久久久 | 99国产精品久久久久久久成人 | 狠狠爱夜夜爱 | 久久久久1 | 欧美色视频一区二区三区 | 国产精品老牛影院99av | 亚洲一级片在线播放 | 国产精品色网 | av免费黄色 | 男人插女人下面视频 | www在线视频 |