日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 老司机午夜福利视频 | 国产亚洲欧美精品久久久www | 爱就操| 小视频黄色| 欧美一级做a爰片免费视频 成人激情在线观看 | 一级做a爱片性色毛片 | 午夜精品久久久久久久久 | 欧洲成人综合网 | 黄色一级在线观看 | 黄色一级小视频 | 日本美女久久久 | 在线看污视频 | 国产成人aa | 欧美日韩综合视频 | 欧美一区二区视频在线观看 | 日韩精品av一区二区三区 | 天堂av免费在线 | 精品日韩在线视频 | 欧洲亚洲女同hd | 九色视频网站 | 国产午夜在线视频 | 国产尤物网站 | 禁断介护av一区二区 | 日韩精品高清在线观看 | 国产欧美日韩二区 | 久久久久亚洲av无码专区桃色 | 狠狠干在线观看 | 欧美在线视频一区 | 亚洲一区在线观看视频 | 亚洲色欧美 | 正在播放亚洲 | 少妇资源 | 欧美激情在线狂野欧美精品 | 欧美性受视频 | 国产激情av | 国产青青草| 国产主播一区二区三区 | 久久亚洲av无码精品色午夜麻豆 | 古装做爰无遮挡三级聊斋艳谭 | 啪啪av| 天天曰夜夜操 | 婷婷视频一区二区三区 | 无码人妻丰满熟妇奶水区码 | ass日本寡妇pics | 亚洲九九精品 | 国产精品免费一区二区三区在线观看 | 女同性做爰全过程 | 中文字幕人妻熟女人妻a片 麻豆91视频 | 性欧美长视频 | 日本黄色精品 | 久久青青草原亚洲av无码麻豆 | 国产自产自拍 | 欧美人妻日韩精品 | 李丽珍毛片 | 色婷婷狠狠18禁久久 | 国产99在线 | 亚洲 | 国产午夜精品福利 | 动漫美女被到爽流 | 黄色aa大片 | 精品黄色片 | 欧美精品一区二区三区蜜臀 | 日本一区二区在线 | 久久久.com | 国产乱人乱精一区二视频国产精品 | 日本在线视频www | 国产人妻精品午夜福利免费 | 国产成人一区二区三区小说 | 国产第一页在线 | 欧美日韩在线中文字幕 | 亚洲国产中文字幕在线观看 | 性欧美精品中出 | 高清日韩一区 | 小蝌蚪av | 看黄色小视频 | 天天草天天爽 | 一级α片免费看刺激高潮视频 | 国产剧情av在线播放 | 欧美精选一区二区 | 校园春色自拍偷拍 | 超碰在线网 | 91精品国产乱码久久久 | 手机在线看黄色 | 国产在线黄色 | 亚洲在线观看视频 | 亚洲色成人一区二区三区小说 | 亚洲 高清 成人 动漫 | 亚洲无人区码一码二码三码的含义 | 午夜视频在线观看免费视频 | 久久人妻一区二区 | 国产精品主播视频 | 四虎国产精品永久免费观看视频 | 国产69xx| av资源共享 | 婷婷综合精品 | 91看片在线播放 | 亚洲大片免费 | 成品短视频泡芙 | 日日综合网 | 性xxxxxxxxx|