ssh框架整合范例

保姆级教程:用SakuraFrp免费内网穿透,SSH远程连接你的Linux服务器(含防火墙配置避坑) 本文提供了一份详细的保姆级教程,教你如何使用SakuraFrp实现免费内网穿透,并通过SSH远程连接Linux服务器。教程涵盖了SSH服务配置、防火墙设置、隧道搭建及故障排查,特别强调了防火墙配置的避坑要点,适合零基础开发者快速上手。 阅读详情


本文描述的是框架SSH集成的示例,由于在这个过程中有一些小的细节容易被遗忘,特别撰写了一篇小的博文来记录这个过程,希望对自己以及后来者能够起到积极意义。

本文中使用的框架和版本号为:

struts-2.3.1.2、hibernate-3.6.10、spring-3.1.1

其下载地址分别为:

http://struts.apache.org/download.cgi#struts2312

http://sourceforge.net/projects/hibernate/files/hibernate3/3.6.10.Final/

http://www.springsource.org/download/community?project=Spring%2520Framework&version=3.1.1.RELEASE

分别将其解压,需要注意的是本例中hibernate3还需要的是log4j,spring还需要commons-loging、commons-dbcp和commons-pool,在这里就不再赘述出其下载地址了。

需要删除的重复包为:asm-commons-3.3.jar和javassist-3.11.0.GA.jar

需要使用的JAR包截图:



 接下来在jee中新建一个Dynamic Web Project,选择好运行环境:



 相关文件组织如下:



 源代码列举如下:

UserAction.java

Java代码 复制代码  收藏代码
  1. package com.ssh.action;import com.opensymphony.xwork2.ActionSupport;  
  2. import com.ssh.pojo.User;  
  3. import com.ssh.service.UserService;  
  4.   
  5. public class UserAction extends ActionSupport {  
  6.   
  7.     private static final long serialVersionUID = 1L;  
  8.   
  9.     private User user;  
  10.     private UserService service;  
  11.     public UserService getService() {  
  12.         return service;  
  13.     }  
  14.     public void setService(UserService service) {  
  15.         this.service = service;  
  16.     }  
  17.     public User getUser() {  
  18.         return user;  
  19.     }  
  20.     public void setUser(User user) {  
  21.         this.user = user;  
  22.     }  
  23.       
  24.     public String execute(){  
  25.         if (service.save(user)!=null) {  
  26.             return SUCCESS;  
  27.         }else {  
  28.             return ERROR;  
  29.         }  
  30.     }  
  31. }  
package com.ssh.action;import com.opensymphony.xwork2.ActionSupport;
import com.ssh.pojo.User;
import com.ssh.service.UserService;

public class UserAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	private User user;
	private UserService service;
	public UserService getService() {
		return service;
	}
	public void setService(UserService service) {
		this.service = service;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	
	public String execute(){
		if (service.save(user)!=null) {
			return SUCCESS;
		}else {
			return ERROR;
		}
	}
}

 

 User.java

 

Java代码 复制代码  收藏代码
  1. package com.ssh.pojo;  
  2.   
  3. import javax.persistence.Column;  
  4. import javax.persistence.Entity;  
  5. import javax.persistence.GeneratedValue;  
  6. import javax.persistence.Id;  
  7. import javax.persistence.Table;  
  8.   
  9. @Entity  
  10. @Table(name="user")  
  11. public class User {  
  12.     private Integer id;  
  13.     private String username;  
  14.     private String password;  
  15.     @Id  
  16.     @GeneratedValue  
  17.     @Column(name="hr_id")  
  18.     public Integer getId() {  
  19.         return id;  
  20.     }  
  21.     public void setId(Integer id) {  
  22.         this.id = id;  
  23.     }  
  24.     public String getUsername() {  
  25.         return username;  
  26.     }  
  27.     public void setUsername(String username) {  
  28.         this.username = username;  
  29.     }  
  30.     public String getPassword() {  
  31.         return password;  
  32.     }  
  33.     public void setPassword(String password) {  
  34.         this.password = password;  
  35.     }  
  36. }  
package com.ssh.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="user")
public class User {
	private Integer id;
	private String username;
	private String password;
	@Id
	@GeneratedValue
	@Column(name="hr_id")
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	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;
	}
}

 UserService.java

 

Java代码 复制代码  收藏代码
  1. package com.ssh.service;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5.   
  6. import com.ssh.pojo.User;  
  7.   
  8. public class UserService {  
  9.     private SessionFactory factory = null;  
  10.     public SessionFactory getFactory() {  
  11.         return factory;  
  12.     }  
  13.     public void setFactory(SessionFactory factory) {  
  14.         this.factory = factory;  
  15.     }  
  16.     public User save(User user){  
  17.         Session session = factory.getCurrentSession();  
  18.         session.beginTransaction();  
  19.         session.save(user);  
  20.         session.getTransaction().commit();  
  21.         return user;  
  22.     }  
  23. }  
package com.ssh.service;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.ssh.pojo.User;

public class UserService {
	private SessionFactory factory = null;
	public SessionFactory getFactory() {
		return factory;
	}
	public void setFactory(SessionFactory factory) {
		this.factory = factory;
	}
	public User save(User user){
		Session session = factory.getCurrentSession();
		session.beginTransaction();
		session.save(user);
		session.getTransaction().commit();
		return user;
	}
}

 log4j.properties

 

Properties代码 复制代码  收藏代码
  1. ### direct log messages to stdout ###  
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  3. log4j.appender.stdout.Target=System.out  
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  5. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
  6.   
  7. ### direct messages to file hibernate.log ###  
  8. #log4j.appender.file=org.apache.log4j.FileAppender  
  9. #log4j.appender.file.File=hibernate.log  
  10. #log4j.appender.file.layout=org.apache.log4j.PatternLayout  
  11. #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
  12.   
  13. ### set log levels - for more verbose logging change 'info' to 'debug' ###  
  14.   
  15. log4j.rootLogger=warn, stdout  
  16.   
  17. #log4j.logger.org.hibernate=info  
  18. #log4j.logger.org.hibernate=debug  
  19.   
  20. ### log HQL query parser activity  
  21. #log4j.logger.org.hibernate.hql.ast.AST=debug  
  22.   
  23. ### log just the SQL  
  24. #log4j.logger.org.hibernate.SQL=debug  
  25.   
  26. ### log JDBC bind parameters ###  
  27. #log4j.logger.org.hibernate.type=info  
  28. #log4j.logger.org.hibernate.type=debug  
  29.   
  30. ### log schema export/update ###  
  31. log4j.logger.org.hibernate.tool.hbm2ddl=debug  
  32.   
  33. ### log HQL parse trees  
  34. #log4j.logger.org.hibernate.hql=debug  
  35.   
  36. ### log cache activity ###  
  37. #log4j.logger.org.hibernate.cache=debug  
  38.   
  39. ### log transaction activity  
  40. #log4j.logger.org.hibernate.transaction=debug  
  41.   
  42. ### log JDBC resource acquisition  
  43. #log4j.logger.org.hibernate.jdbc=debug  
  44.   
  45. ### enable the following line if you want to track down connection ###  
  46. ### leakages when using DriverManagerConnectionProvider ###  
  47. #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace  

 struts.xml

 

Xml代码 复制代码  收藏代码
  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.     <constant name="struts.devMode" value="true" />  
  7.     <package name="ssh" extends="struts-default">  
  8.         <action name="loginApp" class="userAction">  
  9.             <result name="error">/WEB-INF/content/error.jsp</result>  
  10.             <result name="success">/WEB-INF/content/success.jsp</result>  
  11.         </action>  
  12.         <action name="*">  
  13.             <result>/WEB-INF/content/{1}.jsp</result>  
  14.         </action>  
  15.     </package>  
  16. </struts>  

 error.jsp

 

Html代码 复制代码  收藏代码
  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>出错页面</title>  
  8. </head>  
  9. <body>  
  10. 对不起,出错了  
  11. </body>  
  12. </html>  
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>出错页面</title>
</head>
<body>
对不起,出错了
</body>
</html>

 register.jsp

 

Html代码 复制代码  收藏代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ taglib prefix="s" uri="/struts-tags" %>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>注册页面</title>  
  9. </head>  
  10. <body>  
  11. 欢迎注册,请在这里输入必要的注册信息:  
  12. <s:form action="loginApp" method="post">  
  13.     <s:textfield name="user.username" label="用户名"></s:textfield>  
  14.     <s:password name="user.password" label="密码"></s:password>  
  15.     <s:submit label="提交"></s:submit>  
  16. </s:form>  
  17. </body>  
  18. </html>  
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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=UTF-8">
<title>注册页面</title>
</head>
<body>
欢迎注册,请在这里输入必要的注册信息:
<s:form action="loginApp" method="post">
	<s:textfield name="user.username" label="用户名"></s:textfield>
	<s:password name="user.password" label="密码"></s:password>
	<s:submit label="提交"></s:submit>
</s:form>
</body>
</html>

 success.jsp

 

Html代码 复制代码  收藏代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ taglib prefix="s" uri="/struts-tags" %>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>成功页面</title>  
  9. </head>  
  10. <body>  
  11. 成功了  
  12. </body>  
  13. </html>  
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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=UTF-8">
<title>成功页面</title>
</head>
<body>
成功了
</body>
</html>

 applicationContext.xml

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  5.     http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">  
  6.   
  7.     <bean id="dataSource" destroy-method="close"  
  8.         class="org.apache.commons.dbcp.BasicDataSource">  
  9.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  10.         <property name="url" value="jdbc:mysql://localhost:9906/ssh" />  
  11.         <property name="username" value="root" />  
  12.         <property name="password" value="root" />  
  13.     </bean>  
  14.       
  15.     <bean id="sessionFactory"  
  16.         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  17.         <property name="dataSource" ref="dataSource" />  
  18.         <property name="annotatedClasses">  
  19.             <list>  
  20.                 <value>com.ssh.pojo.User</value>  
  21.             </list>  
  22.         </property>  
  23.         <property name="hibernateProperties">  
  24.             <value>  
  25.                 hibernate.dialect=org.hibernate.dialect.MySQLDialect  
  26.                 hibernate.show_sql=true  
  27.                 hibernate.hbm2ddl.auto=update  
  28.                 hibernate.current_session_context_class=thread  
  29.             </value>  
  30.         </property>  
  31.     </bean>  
  32.       
  33.     <bean id="userService" class="com.ssh.service.UserService">  
  34.         <property name="factory" ref="sessionFactory"></property>  
  35.     </bean>  
  36.     <bean id="user" class="com.ssh.pojo.User"></bean>  
  37.     <bean id="userAction" class="com.ssh.action.UserAction">  
  38.         <property name="user" ref="user"></property>  
  39.         <property name="service" ref="userService"></property>  
  40.     </bean>  
  41. </beans>  

 web.xml

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
  5.     id="WebApp_ID" version="3.0">  
  6.   
  7.     <display-name>ssh03_demo</display-name>  
  8.   
  9.     <listener>  
  10.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  11.     </listener>  
  12.     <filter>  
  13.         <filter-name>struts2</filter-name>  
  14.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  15.     </filter>  
  16.     <filter-mapping>  
  17.         <filter-name>struts2</filter-name>  
  18.         <url-pattern>/*</url-pattern>  
  19.     </filter-mapping>  
  20.   
  21.     <welcome-file-list>  
  22.         <welcome-file>index.html</welcome-file>  
  23.         <welcome-file>index.jsp</welcome-file>  
  24.     </welcome-file-list>  
  25. </web-app>  

 然后在Tomcat7上部署该项目即可,在浏览器中输入地址:http://localhost:8080/ssh_demo/register即可进入下面的页面:



 至此,SSH框架整合完成。

相关源码和jar包放在附件中。

SakuraFrp配置踩坑实录:从‘连接被拒’到成功SSH,我总结了这3个关键检查点 本文详细解析了SakuraFrp配置中SSH连接失败的三大常见问题:Linux本地SSH服务状态、隧道参数配置和frpc客户端运行权限。通过系统化的排查方法和实用命令,帮助用户快速定位并解决‘连接被拒’问题,实现稳定内网穿透。特别针对Ubuntu防火墙、云服务器安全组等易忽略环节提供专业解决方案。 阅读详情

相关推荐

SSH框架整合实战

本文还有配套的精品资源,点击获取 简介:SSH整合将Struts2、Spring和Hibernate三大框架集成,构建MVC架构的Java Web应用。本课程设计项目提供完整的整合流程实战,涵盖环境配置、Struts2、Spring、Hibernate的配置和整合,以及MVC模式的代码编写。通过本项目,学生将掌握SSH框架的应用,提升Web开发技能,为企业级应用开发奠定基础...

weixin_36364707的博客 1121

怎样使用Sakura内网穿透

Sakura是一个内网穿透方案,它使得你可以远程连接那些没有公网IP的设备,当然前提是你自己是可以连入公网的。还有一个很重要的是,它是免费的。 接下来讲怎样通过Sakura远程SSH一个Linux电脑。 1 注册一个Sakura账号 打开注册界面注册一个账号,界面是这个样子的: 2 创建一个隧道 注意: 第2步选一个离你近的服务器 第4步根据你自己的需要来,我是SSH远程登录,所以是TCP 第6步填的端口是22,因为SSH默认就是用22 第7步随便写一个端...

qq_16597387的博客 1万+

SSH框架整合必备jar包集合

本文还有配套的精品资源,点击获取 简介:SSH框架整合指的是结合Struts2、Spring和Hibernate这三大Java Web开发框架,以实现MVC模式和数据库持久化。本压缩包包含了所有必需的核心jar库文件。Struts2负责Web层的MVC模式实现,Spring框架则负责服务层管理和事务控制,而Hibernate作为ORM框架,主要负责数据持久化层的功能。了解这...

weixin_42588672的博客 1182

SSH框架执行自己定义的SQL语句

直接上代码 String hsql = "delete XTable x where x.Userid= ?"; Query query = this.getSession().createQuery(hsql); query.setString(0, "001"); query.executeUpdate(); ...

weixin_30569153的博客 680

深入掌握SSH框架整合的完整教程

本文还有配套的精品资源,点击获取 简介:本文详细介绍了Java开发中三大流行框架——Struts、Spring和Hibernate的整合,称为"SSH"集成,通过"Model-View-Controller"设计模式,依赖注入和面向切面编程,以及对象关系映射技术,构建功能强大的企业级Web应用。教程包括框架概念、整合步骤以及在真实项目中如何应用,最终达到提升开发效率和应用质...

weixin_34725745的博客 658

基于Stigmergy的团队LLM wiki协作机制与FastAPI工程实践

大语言模型驱动的知识管理正在改变个人笔记与团队文档的维护方式,但当多人共同维护一个维基时,如何避免版本覆盖、上下文丢失和幻觉污染成为核心挑战。Stigmergy这一源自生物学的协作机制提供了新思路:通过共享环境中的痕迹(如评论、标记、修订历史)实现异步协作,无需实时沟通或中心协调者。本文将原理落地为可工程化的系统,设计Page、Revision、Trace三大实体,并结合向量索引与LLM审查流程,最终用FastAPI与SQLite搭建一个最小可运行原型。从白蚁筑巢到团队知识库,Stigmergy让每个参与者

weixin_34174322的博客 365

SSH三大框架整合

文章目录一. SSH 简单的回顾MyEclipse中整合ssh 一. SSH 简单的回顾 struts2 hibernate5.x spring4.x MyEclipse中整合ssh 参考5.2.5 5.2.7 5.2.9

巧克力布丁的博客 6236

哨兵一号数据下载

哨兵1号数据的下载过程

weixin_59617499的博客 5139

ssh框架整合完整实例

前排提示博文较长1.SSH框架结构 action,biz,dao之间的依赖关系由spring维护,动态注入 sping以AOP(面向切面的方式)实现了事务管理器。 spring整合Hibernate时,spring替代实现HibernateSessionFacctory和dao spring整合struts时,代替实现Action 开发过程中的所有对象由spring控制管理 2. 项目流程2.1框架

shinerio的博客 2万+

开关电源拓扑结构选型指南:从Buck到Full-Bridge的实战解析

本文为硬件工程师提供了开关电源拓扑结构的实战选型指南。文章系统解析了从基础的Buck、Boost、Buck-Boost,到隔离型的Flyback、Forward,再到中高功率的半桥、全桥以及高效率的LLC谐振拓扑的适用场景与核心特点。通过对比分析各拓扑的优缺点,并结合输入输出电压、功率等级、成本与效率等关键参数,给出了清晰的选型决策路径,帮助工程师根据具体项目需求选择最合适的电源“骨架”。

weixin_29306261的博客 112

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(一)

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(一)

宁波阿成的博客 665

MyEclipse整合SSH框架

文章目录一. 以Spring为核心的整合思路二. 整合步骤1. 添加Spring核心容器2. 添加hibernate并持久化user表3. 加载、配置struts2框架 一. 以Spring为核心的整合思路 二. 整合步骤 注意:步骤在myeclipse最好不要颠倒,这样会方便开发,如果你能力很强,那随便你 1. 添加Spring核心容器 2. 添加hibernate并持久化user表 3. 加载、配置struts2框架 ...

巧克力布丁的博客 920

Allegro负片层不显示反盘的原因和解决办法

在用Allegro做PCB设计的时候,负片设计是较为常用的一种方式,有时会出现打开负片层却看不到反盘的情况,如下图。如何才能看到反盘显示的效果,具体操作如下。负片层不显示反盘的原因和解决办法。L2层仍然只能看到盘。

weixin_54787054的博客 2161

SSH框架整合

文章目录SSH框架整合思路配置文件pom.xmllog4j2.xmlspring-context.xmlstruts-base.xmlstruts-sy.xmlstruts.xmldb.propertiesweb.xmlcom.xy.baseBaseDaoBaseActioncom.xy.bookBookBook.hbm.xmlBaseDaoBookBizBookBizImplBookAction...

阳某的博客 746

【C++STL基础入门】stack栈的基础使用

C++ STL(Standard Template Library)是C++标准库中的一个强大的工具集,提供了各种常用的数据结构和算法。其中之一就是Stack(栈),是一种后进先出(LIFO)的数据结构。使用栈可以很方便地管理数据的顺序,它具有简单、高效和易于使用的特点。本文将介绍Stack栈的基础使用方法,帮助初学者快速掌握它的概念和用法。本文简要介绍了C++ STL中Stack栈的基础使用方法。

m0_62599305的博客 3985

2026年数字IC设计紫光展锐笔试带答案解析

本文是一份数字IC设计工程师/芯片验证工程师的笔试样题,包含单选题和多选题两部分。单选题共20题(每题2分),涵盖数字电路、C++/Verilog编程、芯片设计基础等内容,例如D/A转换计算、面向对象编程特性、三极管工作区域、Verilog仿真时间格式等。多选题15题(每题2分),考察Hold违例修复方法、验证方法学等知识点。试卷总分100分,考试时长90分钟,题型设计兼顾基础理论与工程实践,重点测试应聘者对芯片设计核心概念和工具链的掌握程度。部分题目解析详细说明了计算过程或概念原理,如第1题通过二进制转换

Open 111

SSh框架的整合流程

一、SSH整合方式一:无障碍整合 ##1、SSH框架回顾 2、SSH整合 (1)、第一步:创建web项目,引入jar包 Struts2的jar包 struts-2.3.24\apps\struts2-blank\WEB-INF\lib*.jar Struts2中有一些包需要了解的: struts2-convention-plugin-2.3.24.jar----Struts2的注解开发包...

sun_shine_szc的博客 436

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【SSH框架整合】

SSH框架整合1. SSH简介2.整合思路3.项目层级4.整合流程4.1 web.xml4.2 pom.xml4.3 db.properties(数据库连接)4.4 ehcache.xml4.5 log4j2.xml4.6 struts.xml4.7 struts-base.xml4.8 struts-book.xml4.9 spring-context.xml4.10 spring-hibernate.xml4.11 spring-book.xml4.12 base包4.12.1 biz4.12.2 da

Smootht的博客 398

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SSH框架的基本结构整合

SSH的整合时 第一:先Struts和Spring整合 第二:在Hibernate和Spring整合 第一步:先导入架包 pom.xml中(架包要统一,不然运行时会提示架包冲突。架包冲突不会影响功能) ...

qq_44424498的博客 711

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SSH框架整合总结

SSH框架整合总结 第一步 导入jar包 第二步 搭建struts2环境 (1) 创建action ,创建struts.xml配置文件,配置action (2) 配置struts2的过滤器 第三步 搭建hibernate环境 (1) 创建实体类 (2...

zhupengqq的博客 222
上一篇: margin:0 auto;不居中的原因
下一篇: 三种方法编写的简单html界面(3)
Sakura_sql
博客等级 码龄12年 3粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值