- MVC和三层架构和Dao,service,controller的区别
xwh-
mvc架构
一。MVCMVC(Model-View-Controller)是一种常见的软件架构模式,用于组织和管理应用程序的代码。它将应用程序分为三个主要的组成部分:模型(Model)、视图(View)和控制器(Controller)。模型(Model):模型代表应用程序的数据和业务逻辑。它负责处理数据的读取、存储、验证和计算等操作,以及定义业务规则。模型是应用程序的核心,通常包含与数据库交互的代码。视图(V
- springboot-jQery-增删改查分页
浩瀚无疆~
java
主要写controller层和html页面因为其余层都是用EasyCode生成的目录一、controller层二、static静态页面层1.分页查询--删除2.插入3.修改总结一、controller层packagecn.gsm.demo01.controller;importcn.gsm.demo01.entity.Student;importcn.gsm.demo01.service.Stud
- Spring Boot 集成 Redisson 实现消息队列
入秋的大橘
SpringBootspringboot后端java
包含组件内容RedisQueue:消息队列监听标识RedisQueueInit:Redis队列监听器RedisQueueListener:Redis消息队列监听实现RedisQueueService:Redis消息队列服务工具代码实现RedisQueueimportjava.lang.annotation.ElementType;importjava.lang.annotation.Retenti
- JavaBean、MVC设计模式与Java中Dao、Service、Controll三层体系
Java糖糖
mavenspringboot后端javaspring
文章目录一、JavaBeanJavaBean实际就是一个普通的Java类,为了规范开发,要求JavaBean具有如下规范:①具有一个公共的、无参的构造方法;②类的属性私有,且必须提供公共的setter和getter方法用于外部对属性赋值和获取属性值;简而言之:JavaBean=属性私有+公共的setter/getter方法+空参构造器ORM编程思想(objectrelationalmapping,
- 开源软件新峰商城之DAO接口
ch_s_t
Javajava数据库前端
一、数据表设计管理员用户表tb_newbee_mall_admin_useradmin_user_id:管理员id,自增主键,用于唯一标识每个管理员用户。login_user_name:管理员登陆名称,用于管理员登录系统。login_password:管理员登陆密码,与登录用户名配合进行登录验证。nick_name:管理员显示昵称,用于在系统中显示管理员的称呼。locked:是否锁定0未锁定1已锁
- 设计之道:ORM、DAO、Service与三层架构的规范探索
VaporGas
Java后端重构java设计规范ORMDAOService三层架构
引言:实际开发中,遵守一定的开发规范,不仅可以提高开发效率,还可以提高项目的后续维护性以及项目的扩展性;了解一下本博客的项目设计规范,对项目开发很有意义一、ORM思想ORM(Object-Relational-Mapping)在对象模型和关系型模型之间做一个映射(转换)。目的是为了解决面向对象编程语言的发展和关系型数据库的发展不匹配的问题可以理解为:将Java中的数据结构与MySQL数据库中的数据
- 【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
云中路灯
问题描述如何查看AppServiceJava堆栈JVM相关的参数默认配置值?问题解答可以通过AppService的高级管理工具(kudu:)来查看JVM的相关参数,使用命令:java-XX:+PrintFlagsInitial-versionimage鉴于以上输出的参数太多,可以通过命令把结果输出在txt文件中,如:java-XX:+PrintFlagsInitial-version>D:\hom
- android之ActivityThread
追梦的鱼儿
androidActivityThread
目录主要职责关键组件工作流程ActivityThread是Android框架中的一个核心类,负责管理应用程序的主线程(UI线程)以及应用程序的生命周期事件。了解它的工作原理对于理解Android应用程序的运行机制是非常有帮助的。主要职责管理主线程:ActivityThread是应用程序的主线程,负责处理所有的UI操作。生命周期管理:处理Activity、Service、BroadcastRecei
- Java SE 6 新特性: XML API 与 Web 服务
love_baobao
Java基础类xmljavawebapi框架import
JavaSE6做为一个开发平台,针对不同的应用开发需求,提供了各种各样的技术框架。XML处理框架是JDK6的重要组成部分之一。它为应用程序开发人员提供了一个统一的XML处理API。这种框架结构有两个作用:一方面,开发人员透过这些框架,可以透明的替换不同厂商提供的XML处理服务;另一方面,服务提供商可以透过这些框架,将自己的产品插入到JDK中。这种框架一般被称为ServiceProvider机制。J
- 【网络安全 | 渗透工具】IIS 短文件名枚举工具—shortscan安装使用教程
秋说
渗透工具web安全漏洞挖掘渗透工具
未经许可,不得转载。文章目录shortscan安装使用Shortutil工具shortscanShortScan是一种用于在MicrosoftIIS(InternetInformationServices)Web服务器上进行短文件名枚举的工具。该工具可以帮助攻击者利用IIS的文件名处理特性,通过预测性扫描枚举服务器上的文件和目录名称。背景:在早期的Windows文件系统(如FAT和NTFS)中,每
- Java中项目名、包名、类名、接口名、方法名、类名命名规范(简单示范)
我叫WJP
java开发语言
项目名(ProjectName)例子:my-blog-system说明:这是一个简单的博客系统项目,使用连字符(-)来分隔“my”、“blog”和“system”这三个单词,全部使用小写字母。包名(PackageName)例子:com.example.blog.service说明:这个包名遵循了公司或组织域名反转的规则(假设example.com是域名),并添加了blog.service来进一步描
- Nestjs微服务简单案例
海上彼尚
node.js微服务架构node.js
相信大家,来看这篇博客,就应该知道微服务的概念。只是不太知道实用方法而已。下面我通过最简单的案例,来教会大家。首先这是我的项目目录:nestwfw/├──app/├──project-microsericesapp是web服务,用来接收前端请求的网络请求project-microserices是一个微服务,名字都是随意的安装nestnewappnestnewproject-microservice
- 整车级SOA软件架构的革新
踏马潜行
智能驾驶-传感器SOASOA软件革新
在汽车行业,自动驾驶技术正成为创新的主要驱动力。为了满足日益增长的技术需求,整车级SOA(Service-OrientedArchitecture)软件架构正逐渐成为下一代自动驾驶系统的关键组成部分。SOA是一种设计方法论,它将系统划分为相互独立的服务,这些服务可以单独开发、部署和重复使用,从而实现软件的高内聚、低耦合。在传统的汽车软件架构中,软件通常被直接嵌入到硬件中,这导致了软件的可扩展性和可
- 下一代软件架构——SOA
CSDN_document
soa企业应用web中间件weblogic设计模式
Web服务作为炙手可热的技术,如何应用到企业的IT系统和商业流程之中、并给企业带来直接的经济效益,一直备受国内外企业管理者的高度关注和推崇。而在近两年,出现了一种技术架构被誉为下一代Web服务的基础架构,它就是SOA(Service-orientedarchitecture,面向服务架构)。1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是“现代应用开发领域最重
- .NetCore里使用定时任务
AitTech
.netcorec#
在.NETCore中,实现定时任务可以通过多种方式,包括使用内置的System.Threading.Timer、System.Timers.Timer,或者更高级、更灵活的库,如Hangfire、Quartz.NET或.NETCore3.0及以上版本引入的IHostedService和BackgroundService。这里主要介绍IHostedService和BackgroundService的
- C# WinForm实现WebService接口进行图片上传下载
诡道荒行
本文还有配套的精品资源,点击获取简介:本文深入介绍了在C#WinForm应用程序中使用WebService接口连接服务器,实现图片的上传和下载功能。通过理解WebService基础,利用WinForm工具创建用户界面,并实现客户端与WebService的连接,我们详细探讨了图片上传与下载的具体步骤,包括文件选择、数据转换、接口调用,以及异常处理和进度显示。同时,还强调了安全性与性能优化的重要性,确
- 关于使用spire.pdf的错误问题
码农小伙
Javapdfspringbootjava
javaCausedby:java.util.ServiceConfigurationError:java.nio.charset.spi.CharsetProvider:Providercom.spire.ms.charsets.CharsetProvidernotfound关于使用spire.pdf的错误问题关于使用spire.pdf的错误问题我也整了许久,后面换版本才解决的我用的spring
- 使用SpringBoot根据配置注入接口的不同实现类
liu_qixiang
javajava
publicinterfaceUserService{Stringlogin();}@Service("AUserServiceImpl")publicclass AUserServiceImplimplementsUserService{@OverridepublicStringlogin(){return"";}}@Service("BUserServiceImpl")publicclassB
- 2022年最新Kubernetes常见面试题汇总
云小七
kubernetes容器云原生java
常规题1.简述etcd及其特点答∶etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(servicediscovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于Go语言实现。特点∶●简单∶支持REST风格的HTTP+JSONAPI●安全∶支持HTTPS方式的访问●快速:支持并发1k/s的写操作●可靠∶支持分布式结构,基于Raft的一致性算法
- 如何使用JPA自定义更新的sql语句实现对数据表的修改?——SpringDataJpa实现自定义(更新)update语句
海海不掉头发
笔记allsqlitesqlintellijideajapjpa
文章目录前言一、DAO层/Mapper层二、Service业务处理层三、Controller控制层总结前言有的时候我们在后台管理系统中只需要修改一列的数据时,JPA的操作死对所有字段进行修改,这样就不太方便,而且SpringDataJpa的框架没有线程的更新方法,只能调用save()方法实行保存修改的数据。如果不想把其中一列的数据修改的话,那么JPA就会自动把这一列不想修改的数据默认null,并且
- DDS-数据分发服务
阿白机器人
开发语言
目录1.ROS2架构2.DDS概念参考资料1.ROS2架构在ROS2(RobotOperatingSystem2)中,系统通常由以下几个核心部分组成,它们共同构成了ROS2的架构和功能:Plumbing(管道):这个术语在ROS2中用来形象地描述其通信基础设施。它包括了底层的通信机制,如话题(Topics)、服务(Services)、动作(Actions)等,这些机制允许节点(Nodes)之间进行
- Ubuntu20.04使用systemd配置Gogs开机启动
海上微风
LinuxUbuntu20.04Gogssystemd开机启动Gogs启动失败
先说现象,大家用sudosystemctlstartgogs是不是和我一样?ubuntu@raspberry-pi:~$sudosystemctlstatusgogs●gogs.service-GogsLoaded:loaded(/lib/systemd/system/gogs.service;enabled;vendorpreset:enabled)Active:failed(Result:ex
- MYSQL数据库的实验总结_MySQL数据库基础总结
weixin_39993623
MYSQL数据库的实验总结
来源:实验楼链接:https://www.shiyanlou.com/courses/9一、开发准备#打开MySQL服务sudoservicemysqlstart#使用root用户登录,密码为空mysql-uroot二、查看数据库SHOWDATABASES三、新建数据库首先,我们创建一个数据库,给它一个名字,比如mysql_shiyan,以后的几次实验也是对mysql_shiyan这个数据库进行操
- axios取消请求
月伤59
前端javascript开发语言
1.使用CancelToken:classRequestHttp{service:AxiosInstance;publicconstructor(config:AxiosRequestConfig){//实例化axiosthis.service=axios.create(config);/***@description请求拦截器*客户端发送请求->[请求拦截器]->服务器*/this.servic
- easyCode 插件使用
天珩
今日所得轮子javamysqlmybatisintellijidea
easyCode插件介绍easyCode插件能够生成mapper.xml、mapper.java、service、serviceImpl、controller文件,避免手写;而且对比mybatisGenerator可以自动的把数据库的注释生成为字段的注释,可以方便的通过修改模板的方式控制生成的文件使用步骤一、使用idea连接上数据库连接有问题的,参考文章https://www.cnblogs.co
- WordPress website building technology service providers
podoor
wordpresswoocommerce
Top10WordPresswebsitebuildingcompaniesinChina,WordPresswebsitebuildingtechnologyserviceprovidersJianzhanpress.comWordPressThemeJianzhanisaplatformdedicatedtoWordPressthemedevelopment,providingavariety
- 端午作业
关若飞
效果html代码Polo360首页HOMEBacktohomePRODUCTSWhatwehaveforyouSERVICESThingswedoBLOGFollowourupdatesCONTAVTWaystoreachusLoremipsumdolorsitamet,constecteturadipisicingslitPerfectLogicAllyouwantyourwebsitetoso
- netty源码解读三(NioEventLoop)
orcharddd_real
nettyjavanetty
NioEventLoop初始化EventExecutor类型的数组数组大小默认为cpu数量的两倍,遍历数组,通过newNioEventLoop(xxx)往数组中添加元素,NioEventLoop继承了EventExecutor;每次需要线程时,执行chooser的next方法从数组中取出一个线程;关键代码打开netty源码,找到example包下的EchoService类,追溯创建boss线程组和
- VulnHub DC-1-DC-7靶机WP
蚁景网络安全
网络安全渗透测试
VulnHubDC系列靶机:https://vulnhub.com/series/dc,199/#VulnHubDC-1nmap开路获取信息Nmapscanreportfor192.168.106.133Hostisup(0.00017slatency).Notshown:997closedportsPORTSTATESERVICE22/tcpopenssh80/tcpopenhttp111/tc
- Qt-桌面服务和托盘
You can do more
qt
t应用程序在用户的桌面环境中表现良好,但某些集成需要额外的,有时是特定于平台的技术。Qt中的各种类旨在帮助开发人员将应用程序集成到用户的桌面环境中。这些类使开发人员能够在使用跨平台API的同时利用原生服务。QDesktopServices访问常用桌面服务的方法QSystemTrayIcon系统托盘中应用程序的图标开放外部资源尽管Qt提供了处理和显示资源的工具,如常见的图像格式和HTML,但有时需要
- Dom
周华华
JavaScripthtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 【Spark九十六】RDD API之combineByKey
bit1129
spark
1. combineByKey函数的运行机制
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一
首先看一下combineByKey的方法说明:
- msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解
daizj
mysql设置密码
MySql给用户设置权限同时指定访问密码时,会提示如下错误:
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串,
然后
- 路漫漫其修远兮 吾将上下而求索
周凡杨
学习 思索
王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注
- Hadoop(二)对话单的操作
朱辉辉33
hadoop
Debug:
1、
A = LOAD '/user/hue/task.txt' USING PigStorage(' ')
AS (col1,col2,col3);
DUMP A;
//输出结果前几行示例:
(>ggsnPDPRecord(21),,)
(-->recordType(0),,)
(-->networkInitiation(1),,)
- web报表工具FineReport常用函数的用法总结(日期和时间函数)
老A不折腾
finereport报表工具web开发
web报表工具FineReport常用函数的用法总结(日期和时间函数)
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。
DATE
DATE(year,month,day):返回一个表示某一特定日期的系列数。
Year:代表年,可为一到四位数。
Month:代表月份。
- c++ 宏定义中的##操作符
墙头上一根草
C++
#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { &nbs
- 分析Spring源代码之,DI的实现
aijuans
springDI现源代码
(转)
分析Spring源代码之,DI的实现
2012/1/3 by tony
接着上次的讲,以下这个sample
[java]
view plain
copy
print
- for循环的进化
alxw4616
JavaScript
// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
// Things[i]
}
// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
// Things[i]
}
// 大师
for (var i = Things.le
- 网络编程Socket和ServerSocket简单的使用
百合不是茶
网络编程基础IP地址端口
网络编程;TCP/IP协议
网络:实现计算机之间的信息共享,数据资源的交换
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去
端口:用于计算机之间的通信
每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识
0~65535
查看被使用的
- JDK1.5 生产消费者
bijian1013
javathread生产消费者java多线程
ArrayBlockingQueue:
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
ArrayBlockingQueue的常用方法:
- JAVA版身份证获取性别、出生日期及年龄
bijian1013
java性别出生日期年龄
工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。
CertificateNo.java
package com.bijian.study;
import java.util.Calendar;
import
- 【Java范型六】范型与枚举
bit1129
java
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
OK, ERROR;
public <T> T get(T type) {
return null;
- 【Nginx五】Nginx常用日志格式含义
bit1129
nginx
1. log_format
1.1 log_format指令用于指定日志的格式,格式:
log_format name(格式名称) type(格式样式)
1.2 如下是一个常用的Nginx日志格式:
log_format main '[$time_local]|$request_time|$status|$body_bytes
- Lua 语言 15 分钟快速入门
ronin47
lua 基础
-
-
单行注释
-
-
[[
[多行注释]
-
-
]]
-
-
-
-
-
-
-
-
-
-
-
1.
变量 & 控制流
-
-
-
-
-
-
-
-
-
-
num
=
23
-
-
数字都是双精度
str
=
'aspythonstring'
- java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )
bylijinnan
java
the idea is from:
http://blog.csdn.net/zhanxinhang/article/details/6731134
public class MaxSubMatrix {
/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
* Q35
求一个矩阵中最大的二维
- mongoDB文档型数据库特点
开窍的石头
mongoDB文档型数据库特点
MongoDD: 文档型数据库存储的是Bson文档-->json的二进制
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。
mongoDB传统型数据库对比
传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的
文档型数据库:不用定好数据结构,
- [毕业季节]欢迎广大毕业生加入JAVA程序员的行列
comsci
java
一年一度的毕业季来临了。。。。。。。。
正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。
软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的
- PHP操作Excel – PHPExcel 基本用法详解
cuiyadll
PHPExcel
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties
- IBM Webshpere MQ Client User Issue (MCAUSER)
darrenzhu
IBMjmsuserMQMCAUSER
IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗?
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。
http://stackoverflow.com/questions/20209429/how-mca-user-i
- 网线的接法
dcj3sjt126com
一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb
- Vimium插件让键盘党像操作Vim一样操作Chrome
dcj3sjt126com
chromevim
什么是键盘党?
键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。
在chrome里安装 vimium 插件
- MongoDB查询(2)——数组查询[六]
eksliang
mongodbMongoDB查询数组
MongoDB查询数组
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述
MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示:
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹
- cordova读写文件(1)
gundumw100
JavaScriptCordova
使用cordova可以很方便的在手机sdcard中读写文件。
首先需要安装cordova插件:file
命令为:
cordova plugin add org.apache.cordova.file
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为:
var datas=null;//datas need write
var directory=&
- HTML5 FormData 进行文件jquery ajax 上传 到又拍云
ileson
jqueryAjaxhtml5FormData
html5 新东西:FormData 可以提交二进制数据。
页面test.html
<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>
<body>
<
- swift appearanceWhenContainedIn:(version1.2 xcode6.4)
啸笑天
version
swift1.2中没有oc中对应的方法:
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION;
解决方法:
在swift项目中新建oc类如下:
#import &
- java实现SMTP邮件服务器
macroli
java编程
电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。
◆ SMTP 协议
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的
- mongodb group by having where 查询sql
qiaolevip
每天进步一点点学习永无止境mongo纵观千象
SELECT cust_id,
SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250
db.orders.aggregate( [
{ $match: { status: 'A' } },
{
$group: {
- Struts2 Pojo(六)
Luob.
POJOstrust2
注意:附件中有完整案例
1.采用POJO对象的方法进行赋值和传值
2.web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee&q
- struts2步骤
wuai
struts
1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.st