- Springboot集成pagehelper-spring-boot-starter分页插件
帅大大的架构之路
#Java笔记springboot分页插件
Springboot集成pagehelper-spring-boot-starter1.添加依赖com.github.pagehelperpagehelper-spring-boot-starter1.4.32.application.yml配置#pagehelper配置pagehelper:helperDialect:mysqlreasonable:truesupportMethodsArgum
- C++ type_case类型转换助手(实现统一接口参数类型转化)
on那
元模板c++开发语言
C++类型转换助手在现代C++编程中,类型转换是一个常见的需求。为了简化这一过程,本文将使用模板和SFINAE(SubstitutionFailureIsNotAnError)技术实现的类型转换助手代码。该代码定义了一个命名空间cast_helper,其中包含多个重载的do_cast函数,能够根据不同的输入类型进行类型转换。代码结构命名空间cast_helper命名空间cast_helper包含多
- android 串口通信代码
weixin_44693887
移动开发androidjava开发语言androidstudio
以下是在Android平台上实现串口通信的代码示例。要实现串口通信,需要先创建一个类来处理串口通信。下面是一个名为SerialPortHelper的串口帮助类的示例:importandroid.content.Context;importandroid.os.Handler;importandroid.os.Message;importjava.io.FileDescriptor;importja
- 客户端分段读取服务端的socket信息 客户端连接多台socket服务端
shanxiao528
flexAS3socketfunctionstring服务器聊天null
packagehelper.socket{importconfig.ConfigVar;importflash.errors.IOError;importflash.events.Event;importflash.events.EventDispatcher;importflash.events.IOErrorEvent;importflash.events.ProgressEvent;impo
- VSCODE 常见问题
SEVENTHD7
vscode
1VSCODE下载慢将下载地址中的az764295.vo.msecnd.net更换为vscode.cdn.azure.cn使用国内的镜像服务器加速,就好了2.函数跳转vue插件:Vetur、Vue2Snippets,vue-helper(支持CTRL+点击函数跳转||绑定对象跳转)目前装第一个就可以,后边的没有试过alt+返回上一级3.自动补全c/c++extension自动补全4.文件头部注释和
- Git中查看和设置 用户名、密码
CsbLanca
IDE
#1.用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。#2.修改密码gitconfig--globalcredential.helperstore(输入这个命令后,以后只要在输入一次用户名密码)查看用户名和邮箱地址:gitconfiguser.name;g
- RuoYi-Vue-Plus (系统菜单路由获取、路由生成逻辑、前端按钮控制、自定义权限角色组件)
syfjava
RuoYi-Vue-Plus学习RuoYi-Vue-Plus
一、router获取系统路由菜单1-后端生成菜单方法getRouters方法位于com.ruoyi.web.controller.system.SysLoginController类中,作用:根据角色获取菜单@GetMapping("getRouters")publicR>getRouters(){LonguserId=LoginHelper.getUserId();Listmenus=menuS
- Python 多文件相互调用
AI+程序员在路上
Python系列python前端
当面对复杂的项目时,将功能拆分成多个文件不仅有助于团队协作,还能提升代码的可读性和可维护性。然而,如何在一个py文件中调用另一个py文件,并且能够传递参数呢?这正是本文要探讨几种常见的方法解决此问题。1.使用import语句1.1基本用法最直观的方法就是使用import语句。假设你有两个文件:main.py和helper.py。helper.py文件中定义了一个函数add(a,b),用于计算两个数
- 构建deepin arm 系统(四)
天涯看雪
deepinqtdeepinarm
上面几篇已经全部完成了在armhf的移植,现在分享一下几个遇到的错误解决1.锁屏后无法解锁,一直卡在2.开机的时候没有声音提示deepinsound。。服务失败解决办法:通过监控发现提示权限问题,分析服务明明使用的root执行的呢啊通过Google发现确实需要修改权限/usr/lib/dbus-1.0/dbus-daemon-launch-helper查看权限为-rwxr-x---1rootdbu
- ASP.NET Core SignalR身份验证
AAA猪饲料批发李师傅
.NETASP.NETCoreSignalRWebSocketVue
在需要登录才能访问的集线器类上或者方法上添加[Authorize]。也支持角色等设置,可以设置到Hub或者方法上。配置好User、Role、MyDbContext、JWTSettings、IdentityHelperProgram.csusingSignaIR的基本使用;usingScalar.AspNetCore;usingIdentity框架;usingMicrosoft.EntityFram
- 告别依赖冲突!MavenHelper插件离线安装指南
劳炜日Hayley
告别依赖冲突!MavenHelper插件离线安装指南解决IDEA在线安装MavenHelper插件时无法搜索到的问题项目地址:https://gitcode.com/Resource-Bundle-Collection/2e3ab项目介绍在Java开发的世界里,Maven是构建和管理项目的利器,而IntelliJIDEA则是开发者们最喜爱的集成开发环境之一。然而,当我们在IDEA中尝试在线安装Ma
- Android12 Wifi的连接过程梳理
L7256
AndroidAndroidwifi
1.app调用wifiManager的connect方法WifiManagerWifiServiceWifiServiceImplConnectHelperClientModeManagerClientModeImplWifiNativeSupplicantStaIfaceHalSupplicantStaNetworkHalApp层connectconnectInternalframework层c
- Android开发获取缓存,删除缓存
893151960
android开发日记android缓存Android开发Android教程Android获取缓存Android清理缓存Android缓存
Android开发获取缓存,删除缓存app设置中往往有清理缓存的功能。会显示当前缓存时多少,然后可以点击清理缓存直接上代码:objectCacheHelper{/***获取缓存大小*@paramcontext*@return*@throwsException*/@JvmStaticfungetTotalCacheSize(context:Context):String{valcacheSize=g
- 解决 PageHelper 中 ThreadLocal 引发分页残留问题
( •̀∀•́ )920
javajvm开发语言
在使用PageHelper进行分页时,开发者可能会遇到一个问题:即使未调用PageHelper.startPage()方法,某些查询仍然会在SQL中自动添加LIMIT子句。这种问题通常由PageHelper的ThreadLocal机制引发,以下我们将对此进行详细分析并给出完整解决方案。PageHelper的实现原理PageHelper是MyBatis的一个分页插件,核心原理是通过MyBatis拦截
- Linux系统Cannot allocate memory 报错处理详解
sunxunyong
linux服务器运维
系统执行命令报错:fork:Cannotallocatememory查看/var/log/messagesdbus[1489]:[system]Activatingservicename=‘org.freedesktop.problems’(usingservicehelper)dbus[1489]:[system]Failedtoactivateserviceorg.freedesktop.pr
- Flink && Spark SQL提效神器双双更新
flinkspark大数据
大家新年好,在这里先祝大家开工大吉,今年少bug少加班多赚钱!本次SparkSQLHelper主要更新了对于Hints的补全支持,Release版本为2025.2.0。插件地址:https://plugins.jetbrains.com/plugin/26079-spark-sql-helper或者直接在Jetbrains插件市场搜索SparkSQLHelepr。用户QQ群:782150013。而
- Linq to Entity 中 , Query不应该有耗时操作
norsd
EntityFrameworkMySql数据库querylinqsemaphorenull远程连接object
LinqtoEntity是一个非常棒的工具。但是如果“滥用”就会发生奇怪的问题。最近的项目中,遇到如下境况:有300个表结构一致的表(拗口),需要逐一读取300个表的一个数据,排序,然后取出最小的那个数(假设这个数属于表TableA),然后从TableA中再取一个数,排序.......然后我用Samphore,大致代码如下:classQHelper{publicQHelper(IEnumerabl
- Spring Boot:实现MyBatis分页
java领域
数据库开发数据库架构javasqlspring
综合概述想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写count和select,幸好我们有pagehelper分页插件,pagehelper是一个强大实用的MyBatis分页插件,可以帮助我们快速的实现MyBatis分页功能,而且pagehelpe
- xposed中hook的用法
socketyc
android
1.普通的类中方法;XposedHelpers.findAndHookMethod(clazz,//类"test",//方法名String::class.java,//参数object:XC_MethodHook(){@Throws(Throwable::class)overridefunbeforeHookedMethod(param:MethodHookParam){Log.i(TAG,"正在
- 【异常】Python环境中没有安装 `openpyxl` 模块提示ModuleNotFoundError: No module named ‘openpyxl‘
本本本添哥
Python1024程序员节
一、报错内容D:\Project\xxx\.venv\Scripts\python.exe-Xpycache_prefix=D:\Users\xxx\AppData\Local\JetBrains\PyCharmCE2024.2\cpython-cache"E:/PyCharmCommunityEdition2024.2.2/plugins/python-ce/helpers/pydev/pyde
- SQLite 语句详解
曦德1
android_sqliteSQLite
SQLiteOpenHelper几个重要方法:onCreate(SQLiteDatabasedb);用于初次使用软件时生成数据库表当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCrea
- Spring Boot实现MyBatis分页查询
阳光不锈@
springbootspringboot分页查询mybatis统一封装
综合概述想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写count和select,幸好我们有pagehelper分页插件,pagehelper是一个强大实用的MyBatis分页插件,可以帮助我们快速的实现MyBatis分页功能,而且pagehelpe
- ThreeJS入门(233):THREE.DirectionalLightHelper 知识详解,示例代码
还是大剑师兰特
#ThreeJS中文API全解大剑师threejs入门threejs教程threejs示例
作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,webgl,ThreeJS,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第233篇入门文章文章目录特性构造函数方法`update()`使用示例注意事项
- mybatis(134/134)完结
一缕叶
mybatismybatisspringjava
一级缓存(默认情况下开启)同一个sqlsession中执行相同的查询语句走一级缓存二级缓存:同一个sqlsessionfactory,sqlsession关闭了才会将一级缓存提交到二级缓存中外部编写的缓存PageHelper插件:方便进行分页,同时前端可以容易拿到对于分页相关的所有数据调用getXXX方法12天最终完结mybatis,后续找机会手敲一下源码加深了解。
- MyBatis--09--PageHelper插件分页 实现原理
知行合一。。。
Spring基础知识--SSMmybatis
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录PageHelper分页的实现方式1.debug至此整个查询过程完成,原来PageHelper的分页功能是通过==Limit拼接SQL实现的==。2.PageHelper深度分页查询效率低3.解决方案PageHelper分页的实现方式项目一直使用的是PageHelper实现分页功能,项目前期数据量较少一直没有什么问题。随着业务
- 【安全漏洞】Mybatis-PageHelper 分页SQL注入漏洞
yixian123.com
SBOM安全检测mybatissql安全
发布厂商:com.github.pagehelper组件名称:pagehelper漏洞影响版本:5.3.0-5.3.1组件风险等级:超危组件路径:[xxx.jar/BOOT-INF/lib/pagehelper-5.3.0.jar]CVE编号:CVE-2022-28111CNNVD编号:CNNVD-202205-2091漏洞名称:Mybatis-PageHelperSQL注入漏洞漏洞风险等级:超危
- Openwrt路由搭建pptp-server操作说明
wellnw
Openwrtopenwrt
ssh登录到路由后台使用putty或者SecureCRT软件安装PPTP软件包opkgupdateopkginstallpptpdkmod-nf-nathelper-extrakmod-mppe防火配置#Configurekernelparameterscat>/etc/sysctl.confnet.netfilter.nf_conntrack_helper=1EOF/etc/init.d/sys
- 使用.NET 8构建高效的时间日期帮助类
黄同学real
C#后端开发.net.netc#后端
使用.NET8构建高效的时间日期帮助类在现代Web应用程序中,处理日期和时间是一个常见的需求。无论是记录日志、生成报告还是进行数据分析,正确处理日期和时间对于确保数据的准确性和一致性至关重要。本文将详细介绍如何使用ASP.NETCore和C#构建一个高效的时间日期帮助类,并展示其使用方法。技术栈.NET8:提供强大的API开发框架。C#:用于编写高效的业务逻辑。代码实现DateTimeHelper
- HBase工具类(Scala 版)
Amin-沐
大数据私人日记帮助文档hbasescalaspark大数据
objectHBaseHelper{privatevallogger=LoggerFactory.getLogger(getClass)valQUORUM:String=PropertiesUtils.getString("hbase.zookeeper.quorum")valPORT:String=PropertiesUtils.getString("hbase.zookeeper.port")
- 星露谷模组开发教程#3 事件
c#
SMAPI提供了一些事件,比如游戏的内容、显示、输入等事件。这些事件可以让我们在游戏中添加自己的逻辑。这一节我们就来看看如何使用这些事件。注册一个事件在SMAPI中,我们可以通过IModHelper的Events属性来注册事件。比如我们要注册游戏启动事件,可以这样写:publicoverridevoidEntry(IModHelperhelper){helper.Events.GameLoop.G
- 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