Struts2+Spring3+Hibernate3配置全过程

Struts2+Spring3+Hibernate框架技术精讲与整合案例pdf书籍和源代码 立即下载
 最近,使用ssh框架实现了一个简单的用户登录过程,麻雀虽小,五脏俱全。jdk使用的版本是1.6。从头开始说,首先从他们各自的官网上下载sdk开发包,我下的版本是:hibernate-3.5.5、spring-3.1.0.M1、struts-2.2.1.1。如下图所示:

    比较大,里边东西很多,文档、源码、jar包、例子啥都有。我们开发时,只需要几个必需的jar包(总共大约30个左右)。各位如果嫌大不想下载,可以直接下载我的项目,从项目中\WEB-INF\lib目录下拷贝就行了。所需的Jar包如图所示:

下面是各个jar包的来源:

Hibernate:

  • antlr-2.7.6.jar
  • commons-collections-3.1.jar
  • dom4j-1.6.1.jar
  • hibernate3.jar
  • javassist-3.9.0.GA.jar
  • jta-1.1.jar
  • slf4j-api-1.5.8.jar
  • slf4j-nop-1.5.8.jar(这个jar包需要从slf4j框架中找)

 

Spring:

  • commons-dbcp.jar
  • commons-logging-1.0.4.jar
  • commons-pool.jar
  • org.springframework.asm-3.1.0.M1.jar
  • org.springframework.beans-3.1.0.M1.jar
  • org.springframework.context-3.1.0.M1.jar
  • org.springframework.core-3.1.0.M1.jar
  • org.springframework.expression-3.1.0.M1.jar
  • org.springframework.jdbc-3.1.0.M1.jar
  • org.springframework.transaction-3.1.0.M1.jar
  • org.springframework.web-3.1.0.M1.jar

 

Struts:

  • aopalliance-1.0.jar
  • commons-fileupload-1.2.1.jar
  • commons-io-1.3.2.jar
  • commons-logging-1.0.4.jar
  • freemarker-2.3.16.jar
  • javassist-3.7.ga.jar
  • ognl-3.0.jar
  • struts2-core-2.2.1.1.jar
  • struts2-spring-plugin-2.2.1.1.jar
  • xwork-core-2.2.1.1.jar

 

好,下面准备开始。

打开eclipse,新建一个web,项目取名SSH1,结构如下图所示,建立根据如图所示建立相应的包、文件夹、java文件、jsp文件、xml文件,最后将需要的jar文件拷贝到\WEB-INF\lib下。

先说配置文件:

web.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
  3.      <filter>  
  4.          <filter-name>struts2</filter-name>  
  5.          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  6.          <init-param>  
  7.               <param-name>config</param-name>  
  8.                   <param-value>struts-default.xml,struts-plugin.xml,../struts-conf/struts.xml  
  9.               </param-value>  
  10.          </init-param>  
  11.      </filter>  
  12.   
  13.      <filter-mapping>  
  14.          <filter-name>struts2</filter-name>  
  15.          <url-pattern>/*</url-pattern>  
  16.      </filter-mapping>  
  17.   
  18.      <context-param>  
  19.          <param-name>contextConfigLocation</param-name>  
  20.          <param-value>/WEB-INF/spring-conf/spring*.xml</param-value>  
  21.      </context-param>  
  22.   
  23.      <listener>  
  24.          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>      
  25.      </listener>  
  26.   
  27.   <display-name>SSH1</display-name>  
  28.   
  29.   <welcome-file-list>  
  30.     <welcome-file>index.html</welcome-file>  
  31.     <welcome-file>index.htm</welcome-file>  
  32.     <welcome-file>index.jsp</welcome-file>  
  33.     <welcome-file>default.html</welcome-file>  
  34.     <welcome-file>default.htm</welcome-file>  
  35.     <welcome-file>default.jsp</welcome-file>  
  36.     <welcome-file>login.jsp</welcome-file>  
  37.   </welcome-file-list>  
  38. </web-app>  

struts.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.     <!-- Add packages here -->  
  7.     <!-- <include file="struts-default.xml"/> -->  
  8.     <package name="struts2" namespace="/" extends="struts-default">  
  9.         <action name="login" class="loginAction">  
  10.             <result name="success">/jsp/success.jsp</result>  
  11.             <result name="failure">/jsp/failure.jsp</result>  
  12.         </action>  
  13.     </package>  
  14. </struts>   


spring-core.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  4.     xsi:schemaLocation="  
  5.           http://www.springframework.org/schema/beans  
  6.           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  7.           http://www.springframework.org/schema/aop  
  8.           http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  9.           http://www.springframework.org/schema/tx  
  10.           http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  11.      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  12.          <property name="configLocation">  
  13.               <value>classpath:hibernate.cfg.xml</value>  
  14.          </property>  
  15.      </bean>  
  16.   
  17.      <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  18.          <property name="sessionFactory">  
  19.               <ref bean="sessionFactory"/>  
  20.          </property>  
  21.      </bean>  
  22.   
  23.      <tx:annotation-driven transaction-manager="transactionManager" />  
  24. </beans>  

 

spring-conf.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>    
  2. <beans xmlns="http://www.springframework.org/schema/beans"   
  3.      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  4.      xsi:schemaLocation="http://www.springframework.org/schema/beans    
  5.      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">    
  6.      <bean id="loginAction" class="com.zzb.action.LoginAction" scope="prototype">  
  7.          <property name="baseService" ref="baseService" />  
  8.      </bean>  
  9.      <bean id="baseService" class="com.zzb.service.BaseServiceImpl" >  
  10.          <property name="baseDao" ref="baseDAO" />  
  11.      </bean>  
  12.      <bean id="baseDAO" class="com.zzb.dao.BaseDAOImpl" scope="prototype">  
  13.          <property name="sessionFactory" ref="sessionFactory" />  
  14.      </bean>  
  15. </beans>  

Hibernate.cfg.xml

[html]  view plain copy
  1. <?xml version='1.0' encoding='utf-8'?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5. <hibernate-configuration>  
  6.     <session-factory>  
  7.         <!-- Database connection settings -->  
  8.         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
  9.         <property name="connection.url">jdbc:mysql://localhost:3306/hibernate2</property>  
  10.         <property name="connection.username">root</property>  
  11.         <property name="connection.password">123</property>  
  12.         <!-- JDBC connection pool (use the built-in) -->  
  13.         <property name="connection.pool_size">2</property>  
  14.         <!-- SQL dialect -->  
  15.         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>  
  16.         <!-- Enable Hibernate's current session context -->  
  17.         <property name="current_session_context_class">org.hibernate.context.ManagedSessionContext</property>  
  18.         <!-- Disable the second-level cache  -->  
  19.         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>  
  20.         <!-- Echo all executed SQL to stdout -->  
  21.         <property name="show_sql">true</property>  
  22.         <!-- Drop and re-create the database schema on startup -->  
  23.         <property name="hbm2ddl.auto">update</property>  
  24.         <mapping resource="com/zzb/vo/User.hbm.xml"/>  
  25.     </session-factory>  
  26. </hibernate-configuration>  

User.hbm.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping package="com.zzb.vo">  
  6.     <class name="User" table="user">  
  7.         <id name="id">  
  8.             <generator class="native"/>  
  9.         </id>  
  10.         <property name="name" column="name"/>  
  11.         <property name="date" column="date"/>  
  12.     </class>  
  13. </hibernate-mapping>  

然后是JSP文件

login.jsp

[html]  view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <%@taglib prefix="s" uri="/struts-tags"%>  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>Insert title here</title>  
  9. </head>  
  10. <body>  
  11. <s:form action="login.action" namespace="">  
  12.     <s:textfield key="username"/>  
  13.     <s:password key="password" />  
  14.     <s:submit/>  
  15. </s:form>  
  16. </body>  
  17. </html>  

success.jsp

[html]  view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>Insert title here</title>  
  8. </head>  
  9. <body>  
  10. success成功</br>  
  11. username:${requestScope.username}</br>  
  12. password:${requestScope.password}</br>  
  13. </body>  
  14. </html>  

failure.jsp

[html]  view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>Insert title here</title>  
  8. </head>  
  9. <body>  
  10. failure失败</br>  
  11. username:${requestScope.username}</br>  
  12. password:${requestScope.password}</br>  
  13. </body>  
  14. </html>  

最后是java源文件

LoginAction.java

[java]  view plain copy
  1. package com.zzb.action;  
  2. import com.zzb.service.BaseService;  
  3. import com.opensymphony.xwork2.ActionSupport;  
  4. import com.zzb.vo.User;  
  5.   
  6. public class LoginActionextends ActionSupport {  
  7.      private String username;  
  8.      private String password;  
  9.      private BaseService baseService;  
  10.   
  11.      public String execute(){  
  12.          System.out.println(username);  
  13.          System.out.println(password);  
  14.          User user =new User();  
  15.          user.setId(2);  
  16.   
  17.          user = (User) baseService.getVOById(user);  
  18.          System.out.println(">>>>>>>>>>>>>>>>>>"+user.getName());  
  19.          System.out.println(">>>>>>>>>>>>>>>>>>"+user.getDate());  
  20.          String result = "success";  
  21.         return result;  
  22.      }  
  23.   
  24.      public String getUsername() {  
  25.         return username;  
  26.      }  
  27.   
  28.      public void setUsername(String username) {  
  29.         this.username = username;  
  30.      }  
  31.   
  32.      public String getPassword() {  
  33.         return password;  
  34.      }  
  35.   
  36.      public void setPassword(String password) {  
  37.         this.password = password;  
  38.      }  
  39.   
  40.      public BaseService getBaseService() {  
  41.         return baseService;  
  42.      }  
  43.   
  44.      public void setBaseService(BaseService baseService) {  
  45.         this.baseService = baseService;  
  46.      }  
  47. }  

BaseDAO.java

[java]  view plain copy
  1. package com.zzb.dao;  
  2.   
  3. import java.util.List;  
  4. import com.zzb.vo.BaseVO;  
  5.   
  6. public interface BaseDAO {  
  7.      public BaseVO addVO(BaseVO vo);  
  8.      public boolean deleteVOById(BaseVO vo);  
  9.      public void updateVO(BaseVO vo);  
  10.      public BaseVO getVOById(BaseVO id);  
  11.      public List<BaseVO> queryVO(BaseVO obj);  
  12.      public List<BaseVO> queryVOBySQL(String sql);  
  13.      public List<BaseVO> queryAll();  
  14. }   

 
BaseDAOImpl.java

[java]  view plain copy
  1. package com.zzb.dao;  
  2.   
  3. import java.util.List;  
  4. import org.hibernate.SessionFactory;  
  5. import com.zzb.vo.BaseVO;  
  6.   
  7. public class BaseDAOImplimplements BaseDAO {  
  8.      private SessionFactory sessionFactory;  
  9.   
  10.      public BaseVO addVO(BaseVO vo) {  
  11.         return null;  
  12.      }  
  13.   
  14.      public boolean deleteVOById(BaseVO vo) {  
  15.         return false;  
  16.      }  
  17.   
  18.      public BaseVO getVOById(BaseVO vo) {  
  19.         assert(vo.getId()!=null);  
  20.          BaseVO result = (BaseVO)sessionFactory.openSession().load(vo.getClass(), vo.getId());  
  21.         return result;  
  22.      }  
  23.   
  24.      public List<BaseVO> queryAll() {  
  25.         return null;  
  26.      }  
  27.   
  28.      public List<BaseVO> queryVO(BaseVO vo) {  
  29.         return null;  
  30.      }  
  31.   
  32.      public List<BaseVO> queryVOBySQL(String sql) {  
  33.         return null;  
  34.      }  
  35.   
  36.      public void updateVO(BaseVO vo) {   
  37.   
  38.      }  
  39.   
  40.      public SessionFactory getSessionFactory() {  
  41.         return sessionFactory;  
  42.      }  
  43.   
  44.      public void setSessionFactory(SessionFactory sessionFactory) {  
  45.         this.sessionFactory = sessionFactory;  
  46.      }  
  47. }  

BaseService.java

[java]  view plain copy
  1. package com.zzb.service;  
  2.   
  3. import java.util.List;  
  4. import com.zzb.vo.BaseVO;  
  5.   
  6. public interface BaseService {  
  7.      public BaseVO addVO(BaseVO vo);  
  8.      public boolean deleteVOById(BaseVO vo);  
  9.      public void updateVO(BaseVO vo);  
  10.      public BaseVO getVOById(BaseVO user);  
  11.      public List<BaseVO> queryVO(BaseVO obj);  
  12.      public List<BaseVO> queryVOBySQL(String sql);  
  13.      public List<BaseVO> queryAll();  
  14. }  

BaseServiceImpl.java

[java]  view plain copy
  1. package com.zzb.service;  
  2.   
  3. import java.util.List;  
  4. import com.zzb.dao.BaseDAO;  
  5. import com.zzb.vo.BaseVO;  
  6.   
  7. public class BaseServiceImplimplements BaseService {  
  8.      BaseDAO baseDao;  
  9.   
  10.      public BaseVO addVO(BaseVO vo) {  
  11.         return null;  
  12.      }  
  13.   
  14.      public boolean deleteVOById(BaseVO vo) {  
  15.         return false;  
  16.      }  
  17.   
  18.      public BaseVO getVOById(BaseVO BaseVO) {  
  19.         return (BaseVO)baseDao.getVOById(BaseVO);  
  20.      }  
  21.   
  22.       public List<BaseVO> queryAll() {  
  23.        return null;  
  24.      }  
  25.   
  26.      public List<BaseVO> queryVO(BaseVO obj) {  
  27.         return null;  
  28.      }  
  29.   
  30.      public List<BaseVO> queryVOBySQL(String sql) {  
  31.         return null;  
  32.      }  
  33.   
  34.      public void updateVO(BaseVO vo) {   
  35.   
  36.      }  
  37.   
  38.      public BaseDAO getBaseDao() {  
  39.         return baseDao;  
  40.      }  
  41.   
  42.      public void setBaseDao(BaseDAO baseDao) {  
  43.         this.baseDao = baseDao;  
  44.      }  
  45. }  

BaseVO.java

[java]  view plain copy
  1. package com.zzb.vo;  
  2.   
  3. import java.io.Serializable;   
  4.   
  5. public class BaseVOimplements Serializable {  
  6.      private Integer id;  
  7.   
  8.      public Integer getId() {  
  9.         return id;  
  10.      }  
  11.   
  12.      public void setId(Integer id) {  
  13.         this.id = id;  
  14.      }  
  15. }  

User.java

[java]  view plain copy
  1. package com.zzb.vo;  
  2.   
  3. import java.util.Date;  
  4.   
  5. public class Userextends BaseVO{  
  6.      private String name;  
  7.      private Date date;  
  8.   
  9.      public String getName() {  
  10.         return name;  
  11.      }  
  12.   
  13.      public void setName(String name) {  
  14.         this.name = name;  
  15.      }  
  16.   
  17.      public Date getDate() {  
  18.         return date;  
  19.      }  
  20.   
  21.      public void setDate(Date date) {  
  22.         this.date = date;  
  23.      }  
  24. }  

 以上就是全部代码,虽然有些简单,很多类方法都没有写,但已经包含了了ssh框架全部的配置过程。

代码都完成了,然后就可以部署了,我使用的服务器是tomcat6.0,数据库是mysql5.0。部署时不要忘了将数据库的驱动mysql-connector-java-5.0.3-bin.jar考到tomcat目录lib下。部署完成后,启动,访问http://127.0.0.1:8080/SSH1,如果出来成功页面,就成功了。好,就这么多。各位如果有什么问题可以问我。


转载地址:http://blog.youkuaiyun.com/zhengzhb/article/details/6904136

F5高可用HA配置详情 F5 HA详细配置 阅读详情

相关推荐

UE5.3与Colosseum配置实战:从编译到问题解决的全流程指南

本文提供了在Windows系统下配置UE5.3与Colosseum仿真环境的全流程实战指南。详细介绍了从软件版本选择、源代码获取、编译脚本执行到解决常见编译错误和引擎崩溃问题的具体步骤,旨在帮助开发者高效搭建无人机、机器人等仿真平台,并顺利运行外部API控制。

weixin_29002595的博客 557

搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程

原文转自:http://blog.csdn.net/yeohcooller/article/details/9316923   做了半年做左右的开发没有完全自己打搭建过一个完成的ssh框架,参考前人的经验不用重复造轮子   整个项目如下 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合。创建Struts项目,整合Hibernate,整合Spring。最后总结

nrain2的博客 2082

【Ablation Studies 理解】深度学习模型组件的对比实验/性能分析

Ablation Study 用于检测深度学习/机器学习模型中各部分构件对于整体的重要性。 可以理解为为:组件\tricks重要性测试、组件性能系统性分析、控制变量法、组件去除对比实验、性能敏感性测试、性能因子分析等 Ablation Studies 一些新颖的深度学习模型在论文中都会进行AblationStudy,这部分的主要意义在于系统性的移除模型中的各种组件/trick等因子或者是创新的...

TomRen 4588

继承简介

至少当初刚入职的时候各种面试,总要提起各种java基础概念,当进入圈子再也没到处去投简历,基本都是跟着圈子的人走。 真实进入项目中,什么概念都不重要了,重要的是产出,是能否解决业务问题。 例如有100W私有云服务器分布在全球,怎么能纳管这些服务器,实现自动化管理,可以实时监控并且可以批量或者全量,定时或者循环自动化作业。 当项目实施的时候,以前天天学习的冒泡等各种习题基本都看不到了,只有实战。 就...

JDIT的博客 275

手把手教你用西门子博图V18配置阿特拉斯PF6000拧紧枪PN通讯(附完整GSD文件与ToolsTalk配置文件)

本文详细介绍了如何使用西门子博图V18配置阿特拉斯PF6000拧紧枪的PN通讯,包括硬件连接、网络参数规划、ToolsTalk软件配置及博图工程设置。通过完整的GSD文件和配置文件,帮助工程师快速实现高精度拧紧设备与PLC的高效通讯,适用于汽车装配和电子制造等工业自动化场景。

weixin_42662293的博客 602

使用CLion在Window端进行linux开发

        以往不管是开发x86端linux程序还是arm端linux程序,都是使用Source Insight作为源码编辑工具的,如下图      去年底,发现CLion的2018.3更新版本,可以支持remote host开发了,大爱!     我是基于以下几点原因,将开发工具换成CLion 1. 语法高亮较明显、跳转、重构方便(我很看重这个); 2. 可以使用图形界面进行调...

alist的笔记专栏 1万+

2021-03-30

反射入参变出参 /** * 反射获取值 * * @param vo * @param clazz * @param <T> * @return */ protected <T> T pack(LevelVo vo, Class<T> clazz) { try { T t = clazz.newInstance(); Field field = clazz.getDeclaredField("name"); .

cqh520llr的专栏 150

在 Windows 10 中通过 WSL2 安装 vLLM 部署本地大模型的方法和步骤

通过 WSL2 在 Windows 10 中部署 vLLM 的核心优势是兼顾 Windows 生态与 Linux 环境的 GPU 加速能力,适合需要在 Windows 下开发但依赖 vLLM 高性能推理的场景。相比原生 Windows 部署(Ollama 等工具),该方案性能更优(接近原生 Ubuntu),且支持更大模型和量化优化。若追求极致性能,建议直接使用 Ubuntu 系统;若必须依赖 Windows 工具链,WSL2 + vLLM 是当前最优选择。

当 AI 开始写文章、绘星空,甚至预测未来,您还在旁观吗?这里将剖开人工智能的思考逻辑,拆解 AI 创作的底层密码,也聊聊人工智能里的人文温度。每篇都有让你拍案的细节,快来解锁 AI 时代的神奇世界! 3754

接口文档

############热污染翁人

xiaoxiaorujian的博客 361

轮廓系数(Silhouette Coefficient)

轮廓系数(Silhouette Coefficient)是一种评估聚类效果的指标,用来衡量数据点在聚类中的紧密程度和分离程度。每个数据点的轮廓系数是通过比较该点与其所在聚类内的点的平均距离(内聚度)和该点与最近的其他聚类中的点的平均距离(分离度)来计算的。轮廓系数的值范围从-1到1,其中接近1的值表示该点很好地匹配其自身聚类,并且与相邻聚类差异很大,而接近-1的值则表示该点更适合与相邻的聚类而不是当前聚类。

qlkaicx的博客 4023

做cellchat画图时自环的角度颠倒,如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 464

Struts2+Hibernate3+Spring3 整合

Struts2+Hibernate3+Spring3 整合 一、SSH的下载 首先SSH的下载就已经是一个难点。SSH三个地方同时推出各自的新技术,已经要求利用Maven完成其版本的同步。毕竟spring的版本,决定其能整合什么版本的Struts与hibernate。Spring3.0.5就不能整合Hibernate4.x了。因此本文选取的SSH的版本,分别为str

bestlove12345的博客 2861

零基础教你学RDMA驱动开发:从入门到精通--第6章 内存管理与DMA映射​6.2 DMA地址转换:内核dma_map_single()与硬件IOVA(I/O虚拟地址)​

本文深入探讨RDMA驱动中DMA地址转换机制,重点分析内核dma_map_single()函数与硬件IOVA的作用。主要内容包括:1)DMA地址转换的必要性,解决CPU虚拟地址与HCA设备DMA地址的空间割裂问题;2)内核DMA映射机制实现原理,涵盖无IOMMU(直接物理地址映射)和有IOMMU(IOVA转换)两种场景;3)硬件IOVA的工作流程及其与RDMA内存注册的结合;4)RDMA驱动开发中的关键问题,如缓存一致性、映射方向错误、IOVA泄漏等;5)以mlx5驱动为例的实践分析。文章强调DMA地址转换

xiaoheshang_123的博客 239

三大框架整合(1)_strtus2.3+spring3.2+hibernate4.2

本系列博客汇总在这里:Spring 汇总 strtus2.3+spring3.2+hibernate4.2一、配置文件方式 源码工程文件为:spring3.2_10 一、配置文件方式 第一步:建立web工程 第二步:引入依赖包 这个文件下的jar全部拷贝到工程lib目录 第三步:创建user表,创建dao和Service和model 第四步:创建hibernate的映射文件和核心文件 第五...

魏宇轩 617

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

  做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibe...

chengluwei3014的博客 177

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

struts2在SSH项目中的配置文件

用struts2+Spring3+hibernate3开发,struts.xml文件的配置 [size=large][color=green] 第一步:导包。导入struts的各种jar包[/color][/size] 这里需要说的是用的是eclipse开发,除了导入struts的核心包之外,因为要与spring整合,需要struts2-spring-plugin-2.2.1.1.jar...

iteye_1408的博客 197

Struts1.x Spring2.x Hibernate3.x DWR2.x 整合工具文档

Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档版本及作者信息杨帆 博 邮V0.99 V1.00 V1.01 V1.2青岛软件园目录Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.01......................................................1文档约定....

sunny的专栏 1391

struts2+spring+hibernate整合

struts2+spring3+hibernate4的整合[详解] 最近在学习SSH整合过程中出现了许多小问题!为了以后的学习SSH整合的朋友少走弯路,所以总结了一篇文档!但愿能对大家有所帮助! 1、首先创建项目

wanghuan0211的专栏 1131

Struct2、Hibernate3、Spring3框架搭建实战

采用目前最新的struts-2.3.1.2、hibernate3.6.10.Final、spring-framework-3.1.1.RELEASE开发包,以及eclipse-jee-indigo-SR2-win32、apache-tomcat-7.0.27服务器、JDK6和mysql5做开发环境,参考了前辈的一篇相关文章,改正了其中的错误和疏漏,克服了公司分配的“新”机器每小时自动重启三次的困难

messishow的专栏 1007

Spring4.2.5+Hibernate4.3.11+Struts2.3.24整合开发

前面我们已经学会了Spring4.2.5+Hibernate4.3.11+Struts1.3.8的整合开发,现在再来学习Spring4.2.5+Hibernate4.3.11+Struts2.3.24的整合开发应该是得心应手的事了,但我们还是有必要说一下,下面开始本文的介绍。 在学习Spring4.2.5+Hibernate4.3.11+Struts2.3.24的整合开发时,不要一口气的把这3个框

李阿昀的博客 3410

用MyEclipse自动生成hibernate3.2+spring2.5+struts

yue-----Struts1.2+Spring2.5+Hibernate3.2整合 图片和文字 在 压缩包里

jsonyue2016的博客 139
上一篇: 详解java类的生命周期
下一篇: 20年工作经验的架构师写给程序员的一封信
疯疯爱吃辣
博客等级 码龄15年 25粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值