多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > SSH整合中正確配置以及實例

SSH整合中正確配置以及實例

來源:程序員人生   發布時間:2014-09-30 06:23:49 閱讀次數:2314次

mysql數據庫表已經字段:




項目文件結構:






調試過程中要注意的事項:

①:applicationContext.xml文件要放在src目錄下

②:容易出錯的地方如下代碼中字體為紅色處


常見錯誤請參看:http://blog.163.com/jxguo_05/blog/static/71940100201023185653156/     &   http://blog.sina.com.cn/s/blog_6757442e0100xumy.html  &

http://blog.csdn.net/yabushandaxue/article/details/39473593

各工具版本:struts2.3.4 、hibernate 3.6.0  spring3.1.3

jar包:如下:下載地址:http://download.csdn.net/detail/sxf1997/7976797





這里是一個簡單的利用ssh整合的頁面登陸界面

代碼如下:

web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

struts.xml


<?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> <span style="color:#ff0000;"><package name="Action" namespace="/" extends="struts-default"></span> <!-- 登錄 --> <action name="login" class="Action.LoginServiceAction"> <result name="success">/success.jsp</result> <result name="error">/login.jsp</result> </action> </package> </struts>

login.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Insert title here</title> </head> <body> <h1>歡迎登錄</h1> <span style="color:#ff0000;"><s:form action="login.action" method="post" namespace="/"></span> <s:textfield name="username" label="賬號"></s:textfield> <s:password name="password" label="密碼"></s:password> <s:submit value="登陸"></s:submit> </s:form> </body> </html>


success.jsp


<%@ page language="java" contentType="text/html; charset=gb2312"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Insert title here</title> </head> <body> <h1>歡迎你,<s:property value="username"/>登陸成功!</h1> </body> </html>

登陸頁面處理的action


package Action; import java.util.List; import org.springframework.context.support.ClassPathXmlApplicationContext; import DAO.UserDao; import PO.User; import com.opensymphony.xwork2.ActionSupport; public class LoginServiceAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; /** * */ private String username; private String password; <span style="color:#ff0000;">ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");</span> UserDao userDao=(UserDao) ctx.getBean("userDao"); /** * @return the username */ public String getUsername() { return username; } /** * @param username the username to set */ public void setUsername(String username) { this.username = username; } /** * @return the password */ public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#execute() */ @Override public String execute() throws Exception { // TODO Auto-generated method stub //查找賬號相符的用戶 List<User>userlist=userDao.findByName(username); //使用簡化的for語句對集合進行遍歷并比較用戶的密碼 for(User user : userlist){ if(user.getPassword().equals(password)){ return SUCCESS; }else { return ERROR; } } return ERROR; } }


處理方法的接口 ( DAO包)


package DAO; import java.util.List; import PO.User; public interface UserDao { /** * 加載User實例 * @參數id知道需要加載的User實例的主鍵值 * @return 返回加載的User實例 * */ User get(Integer id); /** * 保存User實例 * @參數user知道需要保存的User實例 * @return 返回剛剛保存的User實例的標識屬性值 * */ Integer save(User user); /** * 根據用戶名查找User * @參數那么知道查詢的用戶名 * @return返回用戶名對呀的全部User * */ List<User>findByName(String name); }

實現接口的類ImplDao.UserImpl


package ImplDao; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.HibernateTemplate; import DAO.UserDao; import PO.User; public class UserDaoImpl implements UserDao { //實例化一個HibernateTemplate對象,用于執行持久化操作 private HibernateTemplate ht=null; //Hibernate持久化操作所需SessionFactory private SessionFactory sessionFactory=null; //用戶依賴注入的setter方法 public void setSessionFactory(SessionFactory sessionFactory){ this.sessionFactory=sessionFactory; } //初始化HibernateTemplate方法 private HibernateTemplate gethiHibernateTemplate(){ if(ht==null){ ht=new HibernateTemplate(sessionFactory); } return ht; } @Override public User get(Integer id) { // TODO Auto-generated method stub //獲取對應表中id為某個值的數據,id為主鍵索引 return gethiHibernateTemplate().get(User.class, id); } @Override public Integer save(User user) { // TODO Auto-generated method stub return (Integer)gethiHibernateTemplate().save(user); } @SuppressWarnings("unchecked") @Override public List<User> findByName(String name) { // TODO Auto-generated method stub return (List<User>)gethiHibernateTemplate().find("from User u where u.name=?",name); } }

PO(hibernate映射數據表的字段)

package PO; import java.io.Serializable; public class User implements Serializable{ /** * */ private static final long serialVersionUID = 6810795086071173792L; private Integer intId; private String name; private String password; public User(){} public User(Integer intId,String name,String password){ this.intId=intId; this.name=name; this.password=password; } /** * @return the intId */ public Integer getIntId() { return intId; } /** * @param intId the intId to set */ public void setIntId(Integer intId) { this.intId = intId; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the password */ public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } }


User.hbm.xml(PO對象的映射文件)


<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="PO.User" table="t_use_info" catalog="test"> <id name="intId" type="integer"> <column name="int_id"/> <generator class="increment"/> </id> <property name="name" type="string"> <column name="name" length="32" not-null="true"/> </property> <property name="password" type="string"> <column name="password" length="32" not-null="true"/> </property> </class> </hibernate-mapping>

hibernate和spring3的配置(applicationContext.xml)


<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- default-autowire="byName" --> <!-- 定義數據庫數據源 --> <bean id="abcd" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost/test</value> </property> <property name="username"> <value>test</value> </property> <property name="password"> <value>test</value> </property> </bean> <!-- 定義會話工廠 ,并注入數據源實例dataSource --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="abcd"/> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>PO/User.hbm.xml</value> </list> </property> </bean> <!-- HibernateTemplate類是簡化Hibernate數據訪問代碼的輔助類,可以獲取一個session對象 --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> <property name="allowCreate"> <value>true</value> </property> </bean> <!-- 依賴注入 --> <bean id="userDao" class="ImplDao.UserDaoImpl"> <!-- 注入持久化操作所需的sessionfactory --> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> </beans>


登陸效果:







生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 波多野结衣在线视频播放 | 国产精品亚洲欧美大片在线看 | 宇都宫紫苑最新作品 | 羞羞网站入口 | 在线视频综合视频免费观看 | 中文字幕免费在线看 | 国产亚洲精品久久久久久无 | 欧美激情一区二区三区视频高清 | 亚洲1页| 欧美精品第1页在线播放 | 免费看的成人yellow视频 | 欧美另类成人 | 欧美性猛交xxxx免费看久久久 | 亚欧精品一区二区三区四区 | 中文字幕第一页在线视频 | 在线精品国产成人综合第一页 | 伊人不卡| 性欧美free高清video | 伊人久久大香线蕉综合亚洲 | 欧美人与牲禽ⅹxxx伦交 | 中文字幕日本在线 | 一区二区三区四区在线 | 最近中文字幕视频完整 | 亚洲精品国产77777 | 久久aa | 国产jiyzz视频在线看 | 一级毛片ab片高清毛片 | 精品国产一区二区三区国产馆 | 国产亚洲福利一区二区免费看 | free俄罗斯性xxxxhd大陆 | 在线视频综合视频免费观看 | 欧洲亚洲综合一区二区三区 | 成人国产在线不卡视频 | 69视频在线看 | 图片区小说区激情区偷拍区 | 国产精品久久久久久影视 | 亚洲国产欧美国产第一区二区三区 | 日韩成人国产精品视频 | 爱爱三级 | 亚洲视频久久 | 国产精品久久亚洲不卡4k岛国 |