- React - 兄弟互传 - 消息订阅 - 发布机制
来一碗刘肉面
Reactreact.js前端javascript
pubsub-js是一个轻量级的JavaScript库,用于实现发布-订阅(Pub/Sub)模式。该模式使得组件间的通信变得简单和高效,特别适用于React中的兄弟组件之间通信。通过pubsub-js,一个组件可以发布消息,其他组件可以订阅这些消息以获得更新。1.安装pubsub-jsnpminstallpubsub-js//或者yarnaddpubsub-js2.基本概念发布(Publish):
- [H滑动窗口] lc239. 滑动窗口最大值(模拟+数据结构+单调队列+滑动窗口模板题)
Ypuyu
LeetCode数据结构
文章目录1.题目来源2.题目解析1.题目来源链接:239.滑动窗口最大值相关博文:[单调队列+模板]单调队列模板题单:待补充2.题目解析一道单调队列模板题,不赘述了吧。看看日后有没有写不出来来补题、或者有新感悟的时候再来看看。注意一下C++中双端队列的用法即可。时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)C++STL::deque写法:classSolution{pub
- 装饰者模式
cccccchd
java开发语言
目录问题:定义:举例:拓展:问题:今天刷面经,发现自己不理解装饰者模式,特此记录。最好了解一下委托者模式定义:不改变原有类的情况下,添加额外的功能,也就说“点缀”,就像冰淇淋上面撒一些巧克力或者曲奇一样。主要口味还是那个口味,但会多一些其他的口感。举例:现在的问题是我“添加”和“修改”都会改变SimpleCoffee这个类,违反了单一职责原则。publicclassSimpleCoffee{pub
- ElasticSearch中使用“group by“ 统计 (ElasticsearchTemplate进行聚合查询)
不会吉他的肌肉男不是好的挨踢男
elasticsearchjavaelasticsearchjava
我用的es是6.8.1如果我们想在es实现sql中的groupby的查询统计效果SELECTCOUNT(id)FROMpatientstudyGROUPBYhospitalId;在kibana中执行命令POST/patientstudy/_search?size=0{"aggs":{"count":{"terms":{"field":"hospitalId"}}}}看结果用java怎么实现呢pub
- mac 查看 ssh key
程序猿小白菜
gitssh
mac查看sshkey每次需要配置ssh的时候,都需要上网去搜,怎么查看查找自己的ssh,今天我自己就记录一下这个简单的方法。找到.ssh文件夹cd~/.ssh查看ssh文件夹下面的文件ls要是你电脑生成了ssh,则包含3个文件“id_rsa,id_rsa.pub,known_hosts”查看需要的rsa.pub文件catid_rsa.pub最后复制数据,放在git仓库设置里就可以啦
- Qt for Android下QMessageBox背景黑色、文字点击闪烁
子建莫敌
Qtqtandroidc++QMessageBox文字闪烁背景黑色
最近在基于Qt开发安卓应用的时候,在红米平板上默认QMessageBox出现之后,背景黑色,并且点击提示文字会出现闪烁,影响用户体验。问题分析1、设置QMessageBox样式,设置背景色、文字颜色,如下所示:QMessageBox{background:white;color:white;}尝试之后,问题仍存在2、继承QMessageBox,自定义MessageboxMessagebox:pub
- 通过C++编程语言实现“数据结构”课程中的链表
珠峰日记
数据结构c++链表
下面是用C++实现单链表的完整代码,包含插入、删除、遍历、反转等核心操作。#includeusingnamespacestd;//链表节点结构体structNode{intdata;//数据域Node*next;//指针域Node(intval):data(val),next(nullptr){}};//链表类classLinkedList{private:Node*head;//头节点指针pub
- flutter 怎么拦截请求_Flutter webview 使用和交互
weixin_39779975
flutter怎么拦截请求
flutter.png在Flutter中使用webview,在pub.dev中查看,有几个组件都可以使用webviewflutter_webview.png本文使用的是webview_flutter,它是Flutter团队开发的,目前还不是正式版,但已经可以使用。在iOS中底层调用的是WKWebView,在Android中底层调用的是WebView。webview_flutter使用WebView
- 开源架构
林伟
相关开源网站
opensourcehttp://android.git.kernel.org/ftp://ftp.kernel.org/pub/linux/http://www.gnu.org/http://opensource.limofoundation.org/index.php/limo-open-source.htmlhttp://code.google.com/p/maxwit/blog:http:
- Flutter一直停在 flutter pub get 的解决方法
沙漠蓝色披头
Flutter移动开发
设置用户变量FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cnPUB_HOSTED_URL:https://pub.flutter-io.cn重启androidstudio亲测有效
- 麒麟V10安装Epel源(ARM)
Yes we can623
linux运维服务器
wgethttps://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmrpm-ivhepel-release-latest-8.noarch.rpm--nodeps--forceyumcleanall
- python如何无密码登录_服务器之间实现免密登录的简易教程
行者无疆0123
python如何无密码登录
今天这篇文章主要是教会大家如何实现服务器之间的免密登录。1、先在所有服务器上执行命令:ssh-keygen-tdsa-P''-f~/.ssh/id_dsamaster服务器slave1服务器slave2服务器2、而后在所有服务器上执行命令:cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keysmaster服务器slave1服务器slave2服务器3、之后将每台服务
- Ubuntu 20.04安装Postgresql
JosephThatwho
postgresql
1.下载源码访问https://www.postgresql.org/ftp/source/找到需要的版本并下载:wgethttps://ftp.postgresql.org/pub/source/v11.11/postgresql-11.11.tar.gz2.解压这里解压到用户的opt路径下tarxvfpostgresql-11.11.tar.gz-C~/opt/3.配置3.1.进入解压后的路径
- labview通过以太网基于s7协议,读写西门子系列plc1500 plc1200 plc400 plc300 plc2
zerbo
labviewplclabview
源码地址:正在为您运送作品详情正在为您运送作品详情https://mbd.pub/o/bread/ZZick5pu【闲鱼】https://m.tb.cn/h.5oMjHEf?tk=aZNpWT5fuXyCZ0001
- cocos creator从零开发简单框架(05)-ViewBase基类
cocos
新建framework/scripts/view/ViewBase.ts,内容如下。主要是用作UI和Panel的基类,有一些基本的属性和方法。exportdefaultclassViewBase{/**资源Bundle名,如果为空加载resources资源*/publicbundleName:string/**资源路径*/publicskinPath:string/**资源实例化后的对象*/pub
- cocos creator从零开发简单框架(05)-ViewBase基类
cocos
新建framework/scripts/view/ViewBase.ts,内容如下。主要是用作UI和Panel的基类,有一些基本的属性和方法。exportdefaultclassViewBase{/**资源Bundle名,如果为空加载resources资源*/publicbundleName:string/**资源路径*/publicskinPath:string/**资源实例化后的对象*/pub
- linux环境Git客户端下载安装
桀骜浮沉
LinuxlinuxgitGit客户端下载安装Git客户端
linux环境Git客户端下载安装官网下载:https://mirrors.edge.kernel.org/pub/software/scm/git/解压tar-zxvfgit-2.22.0.tar.gzcdgit-2.22.0安装编译工具yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl-ExtUt
- 【Flutter】webview_flutter使用详解
m0_74824091
vip1024pflutter
文章目录前言一、如何使用前言webview_flutter是Flutter官方推出的一款用于Flutter上的webview插件,该插件在iOS用的是WKWebView支持;在Android上用的是系统WebView。插件地址:https://pub.dev/packages/webview_flutter一、如何使用第一步:在项目根目录下运行如下命令配置依赖flutterpubaddwebvie
- RPC 如何做到 服务调⽤者可以像调⽤本地接⼝⼀样调⽤远程的服务提供者
C18298182575
rpc网络协议网络
RPC(RemoteProcedureCall,远程过程调用)的核心目标是让服务调用者能够像调用本地接口一样调用远程服务提供者。为了实现这一目标,RPC框架通常通过以下几个关键步骤和技术来实现:1.定义服务接口目标:让调用者知道远程服务提供者提供了哪些方法。实现:服务提供者和调用者共享相同的接口定义(如Java中的接口类)。接口定义了远程服务的所有方法及其参数和返回值类型。示例:java复制pub
- 如何全栈开发Ai网站对接DeepSeek大模型
小匠开发铺(VX:a182754056)
人工智能
最近,我闲的无聊自己搞了一个Ai小demo来给大家分享了纯前端三件套实现自己Ai网站视频展示代码地址https://mbd.pub/o/bread/Z52bmJlw
- Git常用命令汇总
荣华富贵8
程序员的知识储备经验分享
1、配置自己的用户名和邮箱gitconfig--globaluser.name"用户名"//加引号gitconfig--globaluser.email"邮箱地址"//加引号2、生成并部署SSHkey公钥ssh-keygen-trsa-C"邮箱地址"//加引号3、查看SSHKEYcat~/.ssh/id_rsa.pub4、初始化本地仓库gitinit5、连接远程gitremoteaddorigin
- ssh免密码登录配置方法
CuiXg
ECS笔记ssh服务器macos
起因近期刚刚接触到云服务器,每次通过SSH登录链接到服务都需要输入密码,相当麻烦,请教他人得知此免密码登录方式,特意记录一下。设备信息macbookPro阿里云ecs操作步骤利用mac终端生成密钥对打开终端,输入:ssh-keygen-trsa,点击回车,然后一路回车,直到出现以下画面:密钥对生成成功,会在~/.ssh目录下生成id_rsa和id_rsa.pub文件通过cd~/.ssh进入‘.ss
- Flutter 插件使用必知必会,专题解析
m0_66264569
程序员架构移动开发android
介绍插件的搜索方式,三方库评估的意义和基本思路介绍如何给应用添加插件,从源码角度看插件是如何注册生效的介绍如何给插件指定版本和解决版本冲突问题介绍依赖源的种类,如何从pub/git/本地指定依赖库介绍依赖的2种分类方式:直接依赖和传递依赖;常规依赖和dev依赖介绍pub这个包管理工具获取依赖的流程和lockfile文件的意义目录结构获取插件插件的使用依赖的分类包管理总结获取插件这里的Flutter
- Java 2.2(计算圆柱的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积:
此生不配你情深
几何学javaeclipse
面积=半径x半径xp体积=面积x高下面是一个运算示例:Entertheradiusandlengthofacylinder(请输入圆柱的半径和高):5.512Theareais95.0331(它的面积是95.0331)Thevolumeis1140.4(它的体积是1140.4)packageSecond;importjava.util.Scanner;publicclassCylinder{pub
- 第2章-PostgreSQL 15安装及登录
我心中有一片海
#PostgreSQL数据库基础PostgreSQL数据库dba
第2章-PostgreSQL15安装及登录1、windows安装2、centos/redhat安装(在线安装)3、源码安装4、登录4.1本地登录4.2远程登录1、windows安装按照提示双击安装包一步一步操作即可2、centos/redhat安装(在线安装)#安装源sudoyuminstall-yhttps://download.postgresql.org/pub/repos/yum/repo
- 分布式之消息中间件
CatalpaFlat
分布式消息队列
分布式之消息中间件目录*1.消息中间件概述*2.消息中间件使用场景*3.消息中间件原理*4.消息中间件传递模式 *4.1点对点模式(PTP) *4.2发布-订阅模型(Pub/Sub)1.消息中间件概述 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。消息中间件就是用在消息队
- 用一个数组实现两个栈
孙尚香蕉
算法算法java数据结构
一、题目描述用一个数组实现两个栈二、解法分析1.初始化两个下标变量分别指向数组的左右两端2.左边的下标指示第一个栈,右边的下标指示第二个栈3.如果需要对第一个栈执行元素入栈操作,那么将元素赋值到左边下标变量指示的位置4.如果需要对第二个栈执行元素入栈操作,那么将元素赋值到右边下标变量指示的位置5.第一个栈向右增长,第二个栈向左增长三、代码实现***使用一个数组实现两个栈*栈和数组综合考察*/pub
- 国内flutter环境部署(记录篇)
smart_ljh
记录篇flutter
设置系统环境变量exportPUB_HOSTED_URL=https://pub.flutter-io.cnexportFLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn使用以下命令下载flutter镜像gitclone-bstablehttps://mirror.ghproxy.com/https://github.com/#例如flut
- kafka自定义分区器无法接收到数据
一嗷
kafka
记录一下大无语事件,今天看尚硅谷的kafka自定义分区器,结果自己编写得分区器kafka一直接收不到数据,idea里也终端没有语句输出,找了好久才发现问题。自定义分区器代码:importorg.apache.kafka.clients.producer.Partitioner;importorg.apache.kafka.common.Cluster;importjava.util.Map;pub
- 力扣【1049. 最后一块石头的重量 II】Java题解(背包问题)
hamster2021
leetcodejava算法
让石头分成重量相同的两堆(尽可能相同),相撞之后剩下的石头就是最小的。进一步转化成容量为重量总喝一半的背包最多可以装多少质量的石头。这样就转化成了背包问题。最后求结果时,我们所最多能装的时dp[target],那另一半石头就是sum-dp[target],我们所求的就是(sum-dp[target])-dp[target],也就是sum-dp[target]*2。classSolution{pub
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
- pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
- [能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
- 类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
- 新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
- oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
- Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
- linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
- eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
- 关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
- JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
- 表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
- LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
- 【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
- 大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
- http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
- J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
- 修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
- c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
- hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
- mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
- ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
- Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
- Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
- 批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
- 跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
- Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
- C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
- spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
- SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts