- 浏览: 791837 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (981)
- javascript (102)
- java (212)
- JQuery (81)
- 幽默笑话 (2)
- 只言片语 (6)
- 开发小记 (283)
- Hibernate (17)
- DWR (4)
- SQL (10)
- spring-ibatis (8)
- linux (24)
- Struts1 (8)
- Struts2 (16)
- spring (42)
- Mybatis (16)
- css (18)
- servlet (8)
- jdbc (4)
- jsp (1)
- spring-jdbc (2)
- FreeMarker (2)
- MySQL (24)
- JQuery-Grid (7)
- jstl (5)
- 正则表达式 (1)
- 面试集锦 (86)
- unix (18)
- 开发工具 (23)
- ajax (5)
- webservice (4)
- log4j (3)
- oracle (15)
- extjs (14)
- 其他 (9)
- 优秀技术参考地址 (1)
- 性能 (3)
- 数据库 (25)
- 算法 (15)
- 设计模式 (10)
- Python (3)
- AIX (5)
- weblogic (1)
- shell (14)
- quartz (5)
- 图形文件FusionCharts (1)
- Websphere (4)
- 转载 (5)
- hadoop (1)
- highchart (24)
- perl (22)
- DB2 (7)
- JBoss (1)
- JQuery Easy UI (9)
- SpringMVC (5)
- ant (5)
- echart (9)
- log4J配置 (3)
- 多线程 (10)
- 系统架构 (7)
- nginx (3)
- loadrunner1 (1)
- 分布式 (1)
- Dubbo (1)
- Redis (2)
- JMS (4)
- 自动化测试 (3)
- Spring循环依赖的三种方式 (1)
- spring-boot (2)
- 高级测试 (9)
- github (2)
- sonar (1)
- docker (6)
- web前端性能优化 (1)
- spring-aop (6)
- rabbit (1)
- ELK (1)
- maven (1)
- minio (1)
最新评论
-
zengshaotao:
jstl1point0 写道很好啊,如果有带Session会话 ...
Nginx+Tomcat搭建高性能负载均衡集群 -
jstl1point0:
很好啊,如果有带Session会话的怎么搞呢
Nginx+Tomcat搭建高性能负载均衡集群
1.在实际操作中学习,效果更佳。
struts1出现的比webwork早,技术不如webwork,所以开始合作,产生了strut2,不过主要用的
都是webwork的技术
struts1出现的比webwork早,技术不如webwork,所以开始合作,产生了strut2,不过主要用的
都是webwork的技术
2.3.j25.0集成了一些功能插件,jstl等。一个工程里,要部署服务器,还要加入安装的jdk,而不用
myeclipse自带的jre。一个软件,一个jar包,一本书,最开始是先熟悉其中的大概。
使用struts2的时候需要引入相关的jar包,配置文件,web.xml文件,参考网上已经存在的配置。
myeclipse自带的jre。一个软件,一个jar包,一本书,最开始是先熟悉其中的大概。
使用struts2的时候需要引入相关的jar包,配置文件,web.xml文件,参考网上已经存在的配置。
4.copy内容时不要删除,一般都是注释,以便后续的参考。打开jsp文件时最好使用jsp editor
不用上面是视图下面是代码的方式visual,因为运行比较慢。myeclipse版本高时就可以直接debug as server application,而不用手动。去部署
不用上面是视图下面是代码的方式visual,因为运行比较慢。myeclipse版本高时就可以直接debug as server application,而不用手动。去部署
5.养成良好习惯,管理好磁盘里的软件,程序,技术视频等资料
6.配置文件改后不能立即生效。要想立即生效,需要配置常量
<constants name=“struts.devMode” value="true">
虽然有jar里的class文件,但要想看源码,需要将源码放到本地再进行链接查看,假定class包路径是org.com....那么源文件的路径连接到org上层就可以。比如java.org.....我们只需链接到java层级便可以。
<constants name=“struts.devMode” value="true">
虽然有jar里的class文件,但要想看源码,需要将源码放到本地再进行链接查看,假定class包路径是org.com....那么源文件的路径连接到org上层就可以。比如java.org.....我们只需链接到java层级便可以。
7.为xml文件添加头部的提示控制。也即添加dtd,或者schma
8.struts2的配置文件里,namespace的配置路径会被自动加载到访问的地址栏里和用户输入的地址进行匹配。
9.struts2执行过程。客户端通过浏览器发出请求,服务器收到请求后,找到对应的webapplication
并找到其中的web.xml文件,叫请求转到filter,filter根据struts2配置文件,去匹配相应的namespace,存在的话继续匹配namespace里面的name,找到之后,调用相应的action,action返回相应的字符串,并将请求换交给服务器,服务器再进行最后的跳转。
并找到其中的web.xml文件,叫请求转到filter,filter根据struts2配置文件,去匹配相应的namespace,存在的话继续匹配namespace里面的name,找到之后,调用相应的action,action返回相应的字符串,并将请求换交给服务器,服务器再进行最后的跳转。
10.struts配置文件里的package和java的包的作用是一致的。
namespace=“/aaa”
<action name="bbb"> 那么访问路径是/aaa/bbb
namespace不写,则只要有对应的action就都可以访问。上面的就可以/fdfd/fdfd/dddddd/bbb也都可以访问的。假定工程名(application名字)为b,action name=“fdfd”,则b/...../fdfd,“....”之间的内容可以任意,并都可以访问fdfd
namespace=“/aaa”
<action name="bbb"> 那么访问路径是/aaa/bbb
namespace不写,则只要有对应的action就都可以访问。上面的就可以/fdfd/fdfd/dddddd/bbb也都可以访问的。假定工程名(application名字)为b,action name=“fdfd”,则b/...../fdfd,“....”之间的内容可以任意,并都可以访问fdfd
copy一个项目时需要更改webContextRoot,否则访问的结果还是原来的项目
引入别人的项目时需要使用自己的jdk环境,在building path路径里
11.由自己定义的action决定视图的转向。在window-preference里直接搜索jsp,然后改变其中的默认的页面编码。这个action对象是每次请求就都new一个。actionsupport是webwork的。
继承actionsupport,就集成了一些验证的方法,一般使用这种方式。直接继承action,一些验证方法无法使用。不继承,如果没有写execute方法就无法转向,语法上也没有提示。
继承actionsupport,就集成了一些验证的方法,一般使用这种方式。直接继承action,一些验证方法无法使用。不继承,如果没有写execute方法就无法转向,语法上也没有提示。
12.路径问题。jsp页面里面的“/”表示不包括web工程名字的路径
当然也可以在页面设置一个<base href="<%=basePath%>>">指定所有的页面的链接从程序名开始
当然也可以在页面设置一个<base href="<%=basePath%>>">指定所有的页面的链接从程序名开始
13.在action里配置method属性,调用action里的相应方法,而不是默认的execute
在Struts2中,访问同一个类中的不同方法时,可以定义多个action,如以下代码
1.<package name="user" extends="struts-default" namespace="/user">
2. <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
3. <result>/user_add_success.jsp</result>
4. </action>
5.
6. <action name="user" class="com.bjsxt.struts2.user.action.UserAction" method="delete">
7. <result>/user_delete_success.jsp</result>
8. </action>
9. </package>
1.<package name="user" extends="struts-default" namespace="/user">
2. <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
3. <result>/user_add_success.jsp</result>
4. </action>
5.
6. <action name="user" class="com.bjsxt.struts2.user.action.UserAction" method="delete">
7. <result>/user_delete_success.jsp</result>
8. </action>
9. </package>
但是,使用这种方式会产生很多的action,因此Struts2提供了另外一种方式,DMI即动态方法调用,如下:
Java代码
1.<package name="user" extends="struts-default" namespace="/user">
2. <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
3. <result>/user_add_success.jsp</result>
4. </action>
5.</package>
<package name="user" extends="struts-default" namespace="/user">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
</package>
1.<package name="user" extends="struts-default" namespace="/user">
2. <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
3. <result>/user_add_success.jsp</result>
4. </action>
5.</package>
<package name="user" extends="struts-default" namespace="/user">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
</package>
只需要定义一个action,定义多个result就可以,访问时通过如下方式访问:
[注] 使用DMI之前要确认struts.xml文件中DynamicMethodInvocation是否打开
Xml代码
1.<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
1.<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
如果没有打开会报类似下面的错误:
引用
There is no Action mapped for namespace /user and action name user!add.
There is no Action mapped for namespace /user and action name user!add.
14.通配符的配置。下标从1开始。前提是有很好的约定。
15.action传入和接受参数。1.6实现接口,可以写@override,1.5不行。tomcat服务器也是需要设置jdk版本的。有set方法后,属性就具有了被自动赋值的可能。
16.domainModel接收参数。相连带的是通过DTO,或者说VO的形式。因为属性多的话不能一个个接收,通过对象更为便捷。最终通过VO将参数传递给domainModel
17.modelDriver.需要实现modeldriver接口,实现它的getModel方法。该方法返回实体,并调用实体对象的set方法,进行初始化。
18。中文解决,换用过滤器
19.校验出错信息的提示。不想struts1一样,传入了request。
23.《incluede file="login.xml"》,对于模块开发比较方便,不会冲突。公用的配置在主文件里
24.默认的action。找不到对应的action,就会访问配置的默认的action。网址没有写明具体的action的话就会报错。no action maped
25.回顾
26.ActionContext。getContext()。getApplication()或者得到request
27.result 默认是forward的方式,可以指定type属性redireck,可以跳转到action里。action如果是同包的情况下(package),直接写名字就可以。
29:在action里通过配置param参数标签跳转到其他action里面
30. 全局配置是为了配置各个action里共同的跳转路径。拦截器和filter的原理是一致的。
31. 在配置文件里使用类似el表达式的语句。<result>${rr}</result>
对象的属性值是放在值栈里的。
对象的属性值是放在值栈里的。
32.forward的时候多个action共享一个值栈。
44.标签可分为通用标签,控制标签,ui标签,ajax标签
发表评论
-
struts2的result属性
2014-06-08 22:59 898在action的指定方法执行 ... -
struts2生成登陆验证码
2014-06-08 22:55 1743原文地址:http://www.cnblogs.com/do ... -
前台接收后台返回流
2014-06-08 22:49 2347很多时候,我们需要前台接收后台返回的流,比如图片。 当然, ... -
json格式依赖包
2014-06-07 22:26 753json是比较简单的数据交换格式,一般的,我们都会用到类似如 ... -
Struts2获取request三种方法
2014-06-04 00:23 1122Struts2获取request三种方法 strut ... -
Struts2标签
2013-08-28 22:33 592Struts2常用标签总结 一 介绍 1.Struts2的作用 ... -
Struts2标签
2013-08-28 22:20 611要在jsp中使用Struts2的标志,先要指明标志的引入。通过 ... -
Struts2标签
2013-08-28 22:16 590要使用Struts2的标签,只 ... -
增加提示
2013-08-13 22:12 760首先,我们先配置一个HelloWorld程序 环境的搭建和前面 ... -
Struts2.1.6启动报错
2013-07-23 21:57 851准备好好复习web开发技术,于是自己开发搭建环境,可是刚开 ... -
Struts2笔记
2013-07-19 21:39 855jre不包含调试,j ... -
Struts2特殊数据类型转换
2013-04-23 20:22 1040Struts2中会默认可以直接转化已有的数据类型,如int,S ... -
struts2详解
2013-03-27 12:18 980解决在断网环境下,配置文件无提示的问题我们可以看到Struts ... -
Struts 2+Jquery+JSON 登陆验证
2012-11-17 10:38 1293要Struts2支持JSON,需要加进一个叫jsonplugi ... -
struts2支持json
2012-11-17 10:18 1053strut2要支持json的插件,必须继承json-defau ...
相关推荐
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...
Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...