- Keras TypeError: unsupported operand type(s) for : 'int' and 'Dimension'
Yolo_C
kerasTypeError:unsupportedoperandtype
记录一个简单的bug在使用keras时,需要取出一个tensor的某一维作为下一层的维度(这里,我是在写attention)代码:dim=input.shape[1]dense=Dense(dim,activation=‘softmax’)(input)报错:TypeError:unsupportedoperandtype(s)for:‘int’and‘Dimension’解决:只需要将dim转化
- Not Escaping ( Codeforces Round 766 (Div. 2) )
BoBoo文睡不醒
acm训练集合dp数据结构模拟最短路
NotEscaping(CodeforcesRound766(Div.2))MajorRamisbeingchasedbyhisarchenemyRaghav.Rammustreachthetopofthebuildingtoescapeviahelicopter.Thebuilding,however,isonfire.Rammustchoosetheoptimalpathtoreachthet
- 【3阶范德蒙行列式计算】
HASHMOTO
数学数学
D3=∣111x1x2x3x12x22x32∣D_3=\begin{vmatrix}1&1&1\\x_1&x_2&x_3\\x_1^2&x_2^2&x_3^2\end{vmatrix}D3=∣∣1x1x121x2x221x3x32∣∣D3=r2(−x1)+r3∣111x1x2x30x2(x2−x1)x3(x3−x1)∣D_3\xlongequal{r_2(-x_1)+r_3}\begin{vmat
- Python网络爬虫调试技巧:解决爬虫中的问题
master_chenchengg
pythonpythonPythonpython开发IT
Python网络爬虫调试技巧:解决爬虫中的问题引子:当你的小蜘蛛遇到大麻烦知己知彼:了解常见的爬虫错误类型侦探出马:使用开发者工具和日志追踪问题源头化险为夷:调整User-Agent与添加延时策略进阶秘籍:处理JavaScript渲染页面与动态加载内容引子:当你的小蜘蛛遇到大麻烦在一个阳光明媚的下午,我正坐在电脑前,满怀信心地运行着我的Python爬虫脚本。这个脚本是为了从一个大型电子商务网站上抓
- 探究Fingerprintjs:了解浏览器指纹技术的原理和应用
Bj陈默
javascript
一、什么是FingerprintjsFingerprintjs是一个用于生成浏览器指纹的JavaScript库。浏览器指纹是一种通过收集浏览器的各种信息来识别用户设备的技术。它类似于人的指纹,具有一定的独特性,可以用于区分不同的用户设备。二、浏览器指纹技术的原理(一)基本信息收集用户代理(UserAgent)用户代理字符串包含了浏览器的类型、版本、操作系统等信息。例如,一个典型的用户代理字符串可能
- react18高阶组件
我谈山美,我说你媚
前端javascriptreactjs
高阶组件的本质上就是函数,接受一个组件作为参数,然后返回一个组件。解决了组件之间如何横向抽离公共逻辑的问题。类组件之间常使用,函数组件中也可以使用,但更多的时候使用自定义hooks。高阶组件命名一般采用with开头,它可以将普通组件内部的公用功能抽离出来,复用在其被调用的组件上。举个例子,需求:每个组件渲染销毁的时候打印日志importReact,{useEffect}from'react';//
- DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)的解决方法
lingllllove
mysqltcp/ipadb
在使用DBeaver连接MySQL数据库时,如果遇到“Accessdeniedforuser''@'ip'(usingpassword:YES)”的错误提示,说明用户认证失败。此问题通常与数据库用户权限、配置错误或网络设置有关。本文将详细介绍解决此问题的步骤。一、检查用户名和密码首先,确保在DBeaver中输入的用户名和密码是正确的。验证步骤如下:打开DBeaver,选择对应的数据库连接。检查连接
- 【python 类型注解详解】
放飞自我的Coder
python开发语言linux
在Python中,类型注释(TypeAnnotations)允许你为变量、函数参数和返回值指定类型信息。预定义变量选项通常指的是在代码中预先定义一些可能的变量值,并在类型注释中使用这些预定义的值。1.使用Literal类型Literal类型允许你指定一个变量只能是某些特定的字面量值。这在处理枚举值或预定义选项时非常有用。fromtypingimportLiteral#预定义的选项Option=Li
- 【解决报错】安装pycrypto遇到报错“error: subprocess-exited-with-error × python setup.py egg_info did not run ”
LotsoD
爬虫
“PyCrypto”是一个用于加密目的的Python库,提供一系列加密算法和工具。它允许开发者在应用中实现各种加密和解密功能。安装pycrypto库时遇到如下报错:尝试安装setuptools库发现已安装,也解决不了该报错。解决方法:可以安装pycryptodome库,这个库是pycrypto库的延伸,两者作用一样。pipinstallpycryptodome
- 力扣-链表-19 删除链表倒数第N个节点
夏末秋也凉
力扣#链表leetcode链表
思路链表题目中操作链表的需要找到要操作节点的上一个节点,所以cur是当前想要操作的节点上一个节点代码classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*dummy_head=newListNode();dummy_head->next=head;intsize=0;while(head!=nullp
- eclipse报错:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
夏末秋也凉
WEBeclipse
驱动版本不一致,//MySQL8.0以下版本-JDBC驱动名及数据库URLstaticfinalStringJDBC_DRIVER="com.mysql.jdbc.Driver";staticfinalStringDB_URL="jdbc:mysql://localhost:3306/RUNOOB";//MySQL8.0以上版本-JDBC驱动名及数据库URLstaticfinalStringJDB
- 前端调试技巧:从 Console 到 Chrome DevTools 的进阶指南
技术出海录
人工智能前端React
作为前端开发者,你可能每天都在和Bug打交道。有时候一个简单的问题可能会耗费几个小时,而掌握正确的调试技巧可以大大提高解决问题的效率。今天,我就来分享一些在实际工作中常用的调试技巧。Console的高级用法除了常见的console.log,Console还有很多强大的功能://1.使用console.table展示数组或对象constusers=[{id:1,name:'Alice',role:'
- Jenkins 忘记密码怎么办?
神即道 道法自然 如来
jenkins
第一种,最简单,重装第二种,设置重新注册1、找到Jenkins注册目录(C:\Users\h\.jenkins,一般在C盘),找到“config.xml”文件,进行编辑2、将useSecurity的“true”改为"false"3、地址栏,将⽬录内容选中,输⼊cmd打开命令⾏终端。写命令java-jarjenkins.war启动jenkins4、浏览器,输地址http://localhost:80
- 处理大量RTSP摄像头,不受实时限制
潮易
opencv计算机视觉人工智能
处理大量RTSP摄像头,不受实时限制处理大量RTSP摄像头的问题可以采用多线程或多进程的方法来提高效率。这里我们使用Python的multiprocessing库来实现这一功能。首先,我们需要定义一个函数来处理单个RTSP摄像头。这个函数将打开RTSP流,然后进行图像处理或其他任务。以下是一个简单的示例:```pythonimportcv2frommultiprocessingimportProc
- mpp rtsp 硬解码
AI算法网奇
嵌入式c++入门宝典网络
目录opencv保存mp4linux系统RK3588MPP硬解码rtsp源代码内存泄露问题硬编码和硬解码mpp保存mp4h264格式判断ffmpeg把mp4转为h264裸流有的电脑报错:Unabletofindasuitableoutputformatfor'output.264'ffmpeg_rtsp_mpp:ffmpeg拉取rtsph264流,使用mpp解码,目前在firefly板子上跑通了m
- python信号与槽(二)
a_b_c_007
上一篇信号与槽的连接,与信号发射都是手动的,而且信号传递比较单一,这次我们弄一些自动的。fromPyQt5.QtCoreimport*classMultiSignal(QObject):##信号变量定义#无参信号signal1=pyqtSignal()#signal2=pyqtSignal(int)#signal3=pyqtSignal(int,str)#signal4=pyqtSignal(li
- mysql商品查询_mysql的查询、子查询及连接查询(商城查询常用)
weixin_32200323
mysql商品查询
一、mysql查询的五种子句where(条件查询)、having(筛选)、groupby(分组)、orderby(排序)、limit(限制结果数)1、where常用运算符:比较运算符>,),>=,selectid,namefromuserwhereidin(7,9,11,100);+----+-----------+|id|name|+----+-----------+|7|娲紵楣?||9|CC
- 有限元python
NSidle
pythonpygame开发语言
importnumpyasnpimportcopyimportpygame,sysfrompygame.localsimport*classNode:def__init__(self):self.id=-1self.coordinate=[0,0]self.type=-1defcopy(self):returnselfclassRodElement:def__init__(self):self.i
- vue2/3 - 报错Error:Cannot find module ‘body-parser‘ | Require stack(vue找不到模块“body-parser”,项目报错完美解决方案)
街尾杂货店&
前端常见问题解决前端组件与功能(开箱即用)vuebody-parser找不到body-parser模vue项目运行报错缺失模块vue3vue2Cannotfindmod
问题说明在vue2、vue3开发中,出现报错:Error:Cannotfindmodule‘body-parser’,找不到模块“body-parser”,大概率出现在项目启动、项目打包的时候,很奇怪的报错。其他教程都无效,本博客能完美解决这个错误。解决方案先来看下
- Java知识速记 == 与equals
无限大.
#Java知识速记javajvm开发语言
Java知识速记==与equals1.==操作符概述==操作符用于比较基本数据类型的值,或者比较引用类型的对象是否指向同一内存地址。对于基本数据类型,例如int、float等,==会比较其值;但对于对象,==只会比较两个对象的引用,判断它们是否是同一个对象。示例:inta=5;intb=5;System.out.println(a==b);//输出:trueStringstr1=newString
- GOOGLE CODE ANDROID 开源项目 集合
weixin_33725807
游戏javajavascriptViewUI
转:http://blog.csdn.net/dellheng/article/details/71633331.ZXinghttp://code.google.com/p/zxing/条形码、二维码2.K-9Mailhttp://code.google.com/p/k9mail/邮件客户端3.Sipdroidhttp://code.google.com/p/sipdroid/SIP/VoIP客户
- Android开源项目
tworoad
Android开源Android开源项目
项目篇:PushTalk基于极光推送的Android手机聊天系统组件篇:android-wheelandroid仿iPhone滚轮控件GoogleCode开源项目(参考引用路径:http://blog.csdn.net/dellheng/article/details/7173112)1.ZXinghttp://code.google.com/p/zxing/条形码、二维码2.K-9Mailhtt
- 使用Python开发windows桌面程序
ww2890chen
使用Python开发windows桌面程序一、开发前期准备1.boa-constructor-0.6.1.bin.setup.exe#一个wxWidges的集成开发环境,简单如Delphi,可以直接拖拽控件,并且和其他集成环境不一样,#它不与集成开发环境的MainLoop冲突,用pythonwin,pyScripter都会冲突,典型报错就是运行第二次#程序的时候,直接导致集成开发环境的强制退出,因
- python多进程和多线程
晚风吹儿
Pythonpython开发语言pycharm
前言进程是资源分配的最小单位,线程是CPU调度的最小单位进程:操作系统的每个一个程序都是一个进程线程:进程包括了线程,一个进程下可以有多个线程同时进行一、多进程代码如下(示例):#-*-coding:utf-8-*-"""@Time:2022/5/2013:20@Author:盘盘@File:more_process.py@IDE:PyCharm"""fromrandomimportrandint
- Python一个爬虫
HL.云黑
python爬虫开发语言
importrequestsimportreimportthreadingfromconcurrent.futuresimportThreadPoolExecutorheaders={'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.101Safari/5
- 解决docker search mysql报Error response from daemon: Get “https://index.docker.io/v1/search?q=mysql&n
KrityCat
dockermysql容器
Errorresponsefromdaemon:Get“https://index.docker.io/v1/search?q=mysql&n=25”:dialtcp:lookupindex.docker.ioon192.168.0.1:53:readudp192.168.0.12:50923->192.168.0.1:53:read:connectionrefused安装bind-utilsyu
- python eml解析_【Python】CDO分析eml文件、发送mail(outlook Express COM对象)
weixin_39640265
pythoneml解析
importwin32com.clientobjEmail=win32com.client.Dispatch('CDO.Message')#objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25#objEmail.Configuration.Fiel
- python eml解析_提取邮件(eml格式)保存为html-python | 学步园
weixin_39820158
pythoneml解析
#-*-coding:utf-8-*-__author__='
[email protected]'importosimportsysimportemailimporterrnoimportmimetypesPATH=os.path.abspath(os.path.dirname(sys.argv[0]))ITEM_PATH=PATH+"\item"PATH_DATA=os.path.abspat
- 用Python把2024年的豆瓣广播生成词云图
NuageL
python开发语言
突发奇想想对自己的2024进行分析。于是决定把豆瓣广播变成词云,学习一下词云的制作方法分为几步:1.获取数据,爬取2024的豆瓣广播#引入requests和BeautifulSoupimportrequestsfrombs4importBeautifulSoupbase_url="我的豆瓣主页网址/p?="headers={'User-Agent':'Mozilla/5.0(WindowsNT10
- 第五节图像像素的算数操作
没学上了
人工智能linux运维
知识点像素的算数操作+add,减subtract,乘multiply,除divide注意点:图像的数据类型,通道数目,大小必须相同修改参数来调节图片的参数voidQUickdemo::operators_demo(Mat&image){Matdst;dst=image-Scalar(50,50,50);--三元素BGR.当改为乘法操作时会出现报错,原因是超过阈值namedWindow("meitu
- 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