struts2_大纲01

下载:http://struts.apache.org/




1,导入jar包,7个必备的jar包分别是:
*struts2-core-2.1.6.jar
*ognl-2.6.11.jar
*xwork-2.1.2.jar
*freemarker-2.3.13.jar
*commons-logging-1.0.4.jar
*commons-fileupload-1.2.1.jar
*commons-io-1.3.2.jar

2,将配置文件struts.xml粘贴到工程的src中


3,在web.xml中添加过滤器配置信息
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

4,修改struts.xml中的配置信息来完成我们的需要


5,常量配置:
开发模式设置为true,则在修改action的name属性之后,可以不需要重新启动服务器
<constant name="struts.devMode" value="true"/>


6,到入源码包:
选中jar-->右键properties-->java source attachment-->
G:/Java资料/资料/Struts2文档资料/struts-2.1.6/src/core/src/main/java


7,导入struts.xml配置文件的快捷提示:
window-->preferences-->搜索catalog-->xml catalog-->add
key type=uri
location=选取struts核心包解压后的struts-2.0.dtd文件路径
key=http://...struts-2.0.dtd
8,struts实例的执行过程

9,nameSpace:默认为""表示接收所有的action,例如action配置name="hello",则.../hello,.../XX/.../hello都能够响应
如果需要配置则必须以"/"开头,如:/front,则访问hello.action的时候:...front/hello.action
package:给action打包,用来区分action重名的情况

10,配置具体action类的项目
①修改创建的jsp页面的默认编码:window-->preferences-->搜索jsp-->Encoding修改为Chinese...
②如果有一个具体的Action类,配置文件:
<action name="" class="">...</action>
如果不配置class,则默认访问ActionSupprt
③查看ActionSupport需要加载xwork.jar的源码
④action类的实现方式
1>直接定义一个类
2>实现Action接口
3>继承ActionSupport类(我们使用第三种:封装了很多可以直接使用的方法验证方法,input方法等等)


11,struts2的路径问题:相对路径/绝对路径(项目实例演示)
struts2中的相对路径是根据action的路径而不是jsp的路径来指定的,所以尽量不要使用相对路径
<base href="<%=basePath %>"/>


12,struts2的DMI动态方法调用!
访问一个action的时候,默认调用的是execute方法
但是不是一定只能调用execute方法,我们可以通过配置来调用指定的方法
我们也可以通过提交的路径来调用:hello.action!methodName
当然我们也可以通过通配符来动态调用指定的方法

13,struts2通配符配置:使用通配符可以将配置项降到最低
<action name="*_*" class="com.softeem.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>



14,Action类的属性接收参数
三种接收参数的方式:
action属性接收
action中的对象接收(最多使用)
实现模型驱动接口ModelDriven<User>,在action中直接定义对象属性,传值的时候只根据对象属性就ok了,但是这个对象需要自己new

15,参数传递过程中的中文问题
注意:页面表单数据提交尽量用post方式
<constant name="struts.i18n.encoding" value="GBK"/><!-- internationalization -->但是这个是2.1的bug
所以我们需要将filter设置为2.0版本的


16,简单数据验证:
1>在action中进行数据验证之后,如果验证数据错误,则将错误信息放入错误堆栈:this.addFieldError("name","message");
2>页面采用struts标签:<s:fielderror fieldName="name" theme="simple"/> 这种方式指定了css样式-->5>
3>如何配置struts标签(对比jstl)
4><s:debug></s:debug>显示各个堆栈信息
5><s:property value="errors.name[0]" />取到值栈中的信息,根据name取到value[ognl表达式]


基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值