- 浏览: 172483 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
gwill_21:
dwr.xml找不到怎么办,难道要自己手写dwr.xml?痛苦 ...
DWR框架 —— 用户注册验证 -
recoba7:
MLDN魔乐科技 Oracle学习笔记 (5) -
lanni2460:
呵呵 尽管现在才看到这个 但是我真的觉得 李老师 讲的很好呢 ...
严重声明,那些恶意诋毁MLDN及李兴华老师的其他培训机构统统走开 -
chian_xxp:
只要把功能实现了,代码结构合理了,代码性能提高了,该注意的注意 ...
业务、业务、业务。。。 -
wzpbb:
密码多少啊??? 给一下啊
MLDN 魔乐科技 Oracle 学习笔记(2)
今天所讲的知识点
A Struts的logic标签
B Struts的html标签
C Struts的分发Action
D Struts的文件上传
我对知识点的分析
A Struts的logic标签
一、logic:present与logic:notPresent
1、logic:present:判断属性范围中某个属性是否存在(即判断是否为null值),如果存在,则进入该标签内的代码中
<%
User user = new User();
user.setUserid("MLDN");
request.setAttribute("user",user);
%>
<logic:present name="user" property="birthday" scope="request">
存在
</logic:present>
类似的logic:notPresent:判断属性范围中属性不存在,如果不存在,进入该标签中的代码
说明:
(1)其中name表示属性名称,property表示属性对象中的某个属性,如果包含了property,则先判断属性对象是否存在,如果存在,再判断其中的属性是否存在。
(2)scope表示判断属性所在的范围,如果没有配置scope范围,则从4种属性范围中依次寻找,只要找到任意一个,则表示存在
2、可以通过parameter属性判断某个传递的参数是否存在
<logic:present parameter="id" >
存在
</logic:present>
<logic:notPresent parameter="id">
不存在
</logic:notPresent>
3、类似的还有cookie和header,分别用来判断是否包含cookie或header信息
二、logic:equal与logic:notEqual
logic:equal:当属性范围中的某个属性的值与另一个值相等时,执行该标签中的代码
同理:logic:notEqual,判断不相等
<%
User user = new User();
user.setUserid("MLDN");
session.setAttribute("user",user);
%>
<logic:present name="user" property="userid" scope="request">
<logic:equal value="MLDN" name="user" property="userid" scope="request">
相等
</logic:equal>
</logic:present>
说明:(1)其中value表示等号右边的值,该值只能为字符串或数字等基本类型
(2)name和property使用方式与之前相同,但必须保证name存在才可以比较property,否则会出现异常,因此一般先使用logic:present判断存在后,再进行比较。
(3)scope表示属性的范围
(4)当对两个属性范围中属性对象的某项进行比较时,需要将等号右边的值(value属性)加入EL表达式进行输出。
<%
User user = new User();
user.setUserid("MLDN");
session.setAttribute("user",user);
user = new User();
user.setUserid("MLDN");
request.setAttribute("user",user);
%>
<logic:equal value="${requestScope.user.userid}" name="user" property="userid" scope="session">
相等
</logic:equal>
三、logic:greaterThan(大于)与logic:lessEqual(小于等于)
<logic:greaterThan value="100" name="user" property="age" scope="session">
大于
</logic:greaterThan>
<logic:lessEqual value="100" name="user" property="age" scope="session" >
小于等于
</logic:lessEqual>
四、logic:lessThan(小于)与logic:greaterEqual(大于等于)
五、logic:match(一般不使用),用来完成字符串模糊查询的
判断属性范围的属性或属性对象的属性,或参数中等是否包含value指定的字符串
六、迭代输出
1、使用logic:iterate标签进行迭代
<!-- 这里的id表示循环迭代中设置到page范围的属性名称 -->
<!-- 这里的name表示属性范围的属性(集合)名称 -->
<logic:iterate id="num" name="all" scope="request">
${num.userid }<br>
</logic:iterate>
2、可以通过indexId索引属性来设置显示格式
(1)实现单双行变色的功能
<logic:iterate id="num" name="all" scope="request" indexId="index">
<font color="${index%2==0?"red":"green" }">${num.userid }</font><br>
</logic:iterate>
(2)还可以通过indexId完成每行显示3(多)条记录的功能
<logic:iterate id="num" name="all" scope="request" indexId="index">
<font color="${index%2==0?"red":"green" }">${num.userid }</font>
<bean:define id="temp" value="${index%3}"></bean:define>
<logic:equal value="2" name="temp">
<br>
</logic:equal>
</logic:iterate>
3、可以通过length和offset属性完成假分页功能
<logic:iterate id="num" name="all" scope="request" length="10" offset="20">
${num.userid } <br>
</logic:iterate>
<!-- 循环前先进行判断 -->
<logic:present name="all" scope="request">
<!-- 这里的id表示循环迭代中设置到page范围的属性名称 -->
<logic:iterate id="num" name="all" scope="request" indexId="index" length="10" offset="20">
${num.userid }<br>
</logic:iterate>
</logic:present>
B Struts的html标签
一、超链接
1、普通HTML:<a href=”xxx?id=1”>连接</a>
2、html标签:<html:link></html:link>
<html:link href="bean.jsp" paramId="id" paramName="id">连接</html:link>
如果要传递多个参数,必须设置Map属性
<a href="bean.jsp?id=4&status=delete">连接</a> <br>
<%
Map m = new HashMap();
m.put("status","list");
m.put("id",4);
request.setAttribute("myparam",m);
%>
<html:link href="bean.jsp" name="myparam">连接</html:link>
二、表单
1、普通HTML:<form action=””> </form>
2、html标签:<html:form action=””></html:form>
使用html:form提交路径必须存在,而且必须路径指向Struts的某个action路径(必须为xxx.do),还有必须为绝对路径,必须从WebRoot下开始填写
3、html:form中可以包含普通html元素,但普通的form中绝对不允许包含html:text等html标签的输入元素,否则会出现异常。
4、 html:form没有单独设置的name属性,其name的值为struts-config.xml中对应ActionForm的name属性。
三、表单的其他元素
1、
普通HTML html标签
密码框 <input type=”password” name=””> <html:password property></html:password>
文本域 <textarea></textarea> <html:textarea property></html:textarea>
文本框 <input type=”text” name=””> <html:text property></html:text>
使用html:text等标签可以自动完成回填功能,使用property设置属性名称,如果在ActionForm中该属性不存在,则出现异常
<html:form action="regist.do">
文本框:<html:text property="user.userid"></html:text><br>
密码框:<html:password property="user.password"></html:password><br>
文本域:<html:textarea property="content" rows="5" cols="30" value="abc"></html:textarea> <br>
<input type="submit" value="提交">
</html:form>
这里的textarea,默认值需要通过value属性进行设置,而不是通过直接在textarea标签的开始和结束标记之间中进行编写
2、
普通HTML html标签
单选按钮 <input type=”radio” name=””> <html:radio property></html:radio>
下拉列表 <select><option></option></select> <html:select property></html:select>
可以自动回填,设置默认值需要通过ActionForm进行设置,而不能使用checked或selected
性别:<html:radio property="sex" value="男">男</html:radio>
<html:radio property="sex" value="女">女</html:radio><BR>
选择所在城市:
<html:select property="city">
<html:option value="1">北京</html:option>
<html:option value="2">上海</html:option>
<html:option value="3">深圳</html:option>
<html:option value="4">其他</html:option>
</html:select>
private String sex = "男" ;
private int city = 2 ;
对于下拉列表还可以通过html:options的形式进行设置全部值
选择所在城市:
<html:select property="city">
<html:options collection="all" labelProperty="title" property="id"/>
</html:select>
colloction表示保存所有数据的集合属性名称,labelProperty表示option中显示的文本内容所对应的属性名,property表示option中value值所对应的属性名。
3、
普通HTML html标签
多选按钮 <input type=”checkbox” name=””> <html:checkbox property></html:checkbox>
<html:multiboxt property></html:multibox>
使用html:checkbox时,该多选框无法设置默认值
而html:multibox可以通过默认值的形式来设置默认选中
喜欢的运动:
<html:checkbox property="sports" value="1"></html:checkbox>足球
<html:checkbox property="sports" value="2"></html:checkbox>篮球
<html:checkbox property="sports" value="3"></html:checkbox>乒乓球
<html:checkbox property="sports" value="4"></html:checkbox>羽毛球
喜欢的运动:
<html:multibox property="sports" value="1"></html:multibox>足球
<html:multibox property="sports" value="2"></html:multibox>篮球
<html:multibox property="sports" value="3"></html:multibox>乒乓球
<html:multibox property="sports" value="4"></html:multibox>羽毛球
C Struts的分发Action
可以使用分发Action将每一个操作单独定义一个方法,根据某一个状态参数决定自动调用其中的一个方法。
一、实现方法
1、使用的Action类为DispatchAction
2、将每个操作单独定义为方法,方法的返回值和参数与execute方法一致,方法名为传递的状态参数的具体值(即status状态参数的值)
3、将原有的execute方法删除
4、在struts-config.xml中设置参数名称,根据该参数来确定所设置的方法名(来决定调用哪个方法)
<action attribute="userForm" input="/error.jsp" name="userForm"
path="/user" scope="request" parameter="status"
type="org.liky.struts.action.UserAction">
<forward name="list" path="/list.jsp"></forward>
<forward name="forward" path="/forward.jsp"></forward>
<forward name="update" path="/update.jsp"></forward>
</action>
二、实现原理
DispatchAction的execute方法中取得了patameter设置的参数值(status的值),再根据该值通过反射调用与该值同名的方法自动执行,接收返回结果,将结果返回给,ActionServlet进行跳转
D Struts的文件上传
一、页面上需要设置的
如果需要进行文件上传,就必须对表单进行多媒体封装
<html:form action="user.do" method="post" enctype="multipart/form-data">
文件域
用户照片:<html:file property="photo"></html:file>
二、参数接受你
此处不需要修改其他参数的接收方法,还是使用ActionForm进行自动接收
而文件需要使用Struts提供的封装文件类(FormFile)单独进行接收
三、文件上传及保存
在Struts中,如果要进行文件保存,需要使用IO流操作:需要使用字节的输出流(OutputStream)
在ActionForm中进行处理文件名
在Action中处理文件保存
示例,参见StrutsCRUDDemo
个人总结:
作业StrutsCRUDDemo(已解决)
1、问题1:数据库连接的Driver路径写错,报错,找不到Driver
private static final String DBDRIVER="org.git.mm.mysql.Driver";(错误)
private static final String DBDRIVER="org.gjt.mm.mysql.Driver";
2、文件上传,表单没有封装
ActionForm在接受参数时,文件参数接收类型不匹配错误
A Struts的logic标签
B Struts的html标签
C Struts的分发Action
D Struts的文件上传
我对知识点的分析
A Struts的logic标签
一、logic:present与logic:notPresent
1、logic:present:判断属性范围中某个属性是否存在(即判断是否为null值),如果存在,则进入该标签内的代码中
<%
User user = new User();
user.setUserid("MLDN");
request.setAttribute("user",user);
%>
<logic:present name="user" property="birthday" scope="request">
存在
</logic:present>
类似的logic:notPresent:判断属性范围中属性不存在,如果不存在,进入该标签中的代码
说明:
(1)其中name表示属性名称,property表示属性对象中的某个属性,如果包含了property,则先判断属性对象是否存在,如果存在,再判断其中的属性是否存在。
(2)scope表示判断属性所在的范围,如果没有配置scope范围,则从4种属性范围中依次寻找,只要找到任意一个,则表示存在
2、可以通过parameter属性判断某个传递的参数是否存在
<logic:present parameter="id" >
存在
</logic:present>
<logic:notPresent parameter="id">
不存在
</logic:notPresent>
3、类似的还有cookie和header,分别用来判断是否包含cookie或header信息
二、logic:equal与logic:notEqual
logic:equal:当属性范围中的某个属性的值与另一个值相等时,执行该标签中的代码
同理:logic:notEqual,判断不相等
<%
User user = new User();
user.setUserid("MLDN");
session.setAttribute("user",user);
%>
<logic:present name="user" property="userid" scope="request">
<logic:equal value="MLDN" name="user" property="userid" scope="request">
相等
</logic:equal>
</logic:present>
说明:(1)其中value表示等号右边的值,该值只能为字符串或数字等基本类型
(2)name和property使用方式与之前相同,但必须保证name存在才可以比较property,否则会出现异常,因此一般先使用logic:present判断存在后,再进行比较。
(3)scope表示属性的范围
(4)当对两个属性范围中属性对象的某项进行比较时,需要将等号右边的值(value属性)加入EL表达式进行输出。
<%
User user = new User();
user.setUserid("MLDN");
session.setAttribute("user",user);
user = new User();
user.setUserid("MLDN");
request.setAttribute("user",user);
%>
<logic:equal value="${requestScope.user.userid}" name="user" property="userid" scope="session">
相等
</logic:equal>
三、logic:greaterThan(大于)与logic:lessEqual(小于等于)
<logic:greaterThan value="100" name="user" property="age" scope="session">
大于
</logic:greaterThan>
<logic:lessEqual value="100" name="user" property="age" scope="session" >
小于等于
</logic:lessEqual>
四、logic:lessThan(小于)与logic:greaterEqual(大于等于)
五、logic:match(一般不使用),用来完成字符串模糊查询的
判断属性范围的属性或属性对象的属性,或参数中等是否包含value指定的字符串
六、迭代输出
1、使用logic:iterate标签进行迭代
<!-- 这里的id表示循环迭代中设置到page范围的属性名称 -->
<!-- 这里的name表示属性范围的属性(集合)名称 -->
<logic:iterate id="num" name="all" scope="request">
${num.userid }<br>
</logic:iterate>
2、可以通过indexId索引属性来设置显示格式
(1)实现单双行变色的功能
<logic:iterate id="num" name="all" scope="request" indexId="index">
<font color="${index%2==0?"red":"green" }">${num.userid }</font><br>
</logic:iterate>
(2)还可以通过indexId完成每行显示3(多)条记录的功能
<logic:iterate id="num" name="all" scope="request" indexId="index">
<font color="${index%2==0?"red":"green" }">${num.userid }</font>
<bean:define id="temp" value="${index%3}"></bean:define>
<logic:equal value="2" name="temp">
<br>
</logic:equal>
</logic:iterate>
3、可以通过length和offset属性完成假分页功能
<logic:iterate id="num" name="all" scope="request" length="10" offset="20">
${num.userid } <br>
</logic:iterate>
<!-- 循环前先进行判断 -->
<logic:present name="all" scope="request">
<!-- 这里的id表示循环迭代中设置到page范围的属性名称 -->
<logic:iterate id="num" name="all" scope="request" indexId="index" length="10" offset="20">
${num.userid }<br>
</logic:iterate>
</logic:present>
B Struts的html标签
一、超链接
1、普通HTML:<a href=”xxx?id=1”>连接</a>
2、html标签:<html:link></html:link>
<html:link href="bean.jsp" paramId="id" paramName="id">连接</html:link>
如果要传递多个参数,必须设置Map属性
<a href="bean.jsp?id=4&status=delete">连接</a> <br>
<%
Map m = new HashMap();
m.put("status","list");
m.put("id",4);
request.setAttribute("myparam",m);
%>
<html:link href="bean.jsp" name="myparam">连接</html:link>
二、表单
1、普通HTML:<form action=””> </form>
2、html标签:<html:form action=””></html:form>
使用html:form提交路径必须存在,而且必须路径指向Struts的某个action路径(必须为xxx.do),还有必须为绝对路径,必须从WebRoot下开始填写
3、html:form中可以包含普通html元素,但普通的form中绝对不允许包含html:text等html标签的输入元素,否则会出现异常。
4、 html:form没有单独设置的name属性,其name的值为struts-config.xml中对应ActionForm的name属性。
三、表单的其他元素
1、
普通HTML html标签
密码框 <input type=”password” name=””> <html:password property></html:password>
文本域 <textarea></textarea> <html:textarea property></html:textarea>
文本框 <input type=”text” name=””> <html:text property></html:text>
使用html:text等标签可以自动完成回填功能,使用property设置属性名称,如果在ActionForm中该属性不存在,则出现异常
<html:form action="regist.do">
文本框:<html:text property="user.userid"></html:text><br>
密码框:<html:password property="user.password"></html:password><br>
文本域:<html:textarea property="content" rows="5" cols="30" value="abc"></html:textarea> <br>
<input type="submit" value="提交">
</html:form>
这里的textarea,默认值需要通过value属性进行设置,而不是通过直接在textarea标签的开始和结束标记之间中进行编写
2、
普通HTML html标签
单选按钮 <input type=”radio” name=””> <html:radio property></html:radio>
下拉列表 <select><option></option></select> <html:select property></html:select>
可以自动回填,设置默认值需要通过ActionForm进行设置,而不能使用checked或selected
性别:<html:radio property="sex" value="男">男</html:radio>
<html:radio property="sex" value="女">女</html:radio><BR>
选择所在城市:
<html:select property="city">
<html:option value="1">北京</html:option>
<html:option value="2">上海</html:option>
<html:option value="3">深圳</html:option>
<html:option value="4">其他</html:option>
</html:select>
private String sex = "男" ;
private int city = 2 ;
对于下拉列表还可以通过html:options的形式进行设置全部值
选择所在城市:
<html:select property="city">
<html:options collection="all" labelProperty="title" property="id"/>
</html:select>
colloction表示保存所有数据的集合属性名称,labelProperty表示option中显示的文本内容所对应的属性名,property表示option中value值所对应的属性名。
3、
普通HTML html标签
多选按钮 <input type=”checkbox” name=””> <html:checkbox property></html:checkbox>
<html:multiboxt property></html:multibox>
使用html:checkbox时,该多选框无法设置默认值
而html:multibox可以通过默认值的形式来设置默认选中
喜欢的运动:
<html:checkbox property="sports" value="1"></html:checkbox>足球
<html:checkbox property="sports" value="2"></html:checkbox>篮球
<html:checkbox property="sports" value="3"></html:checkbox>乒乓球
<html:checkbox property="sports" value="4"></html:checkbox>羽毛球
喜欢的运动:
<html:multibox property="sports" value="1"></html:multibox>足球
<html:multibox property="sports" value="2"></html:multibox>篮球
<html:multibox property="sports" value="3"></html:multibox>乒乓球
<html:multibox property="sports" value="4"></html:multibox>羽毛球
C Struts的分发Action
可以使用分发Action将每一个操作单独定义一个方法,根据某一个状态参数决定自动调用其中的一个方法。
一、实现方法
1、使用的Action类为DispatchAction
2、将每个操作单独定义为方法,方法的返回值和参数与execute方法一致,方法名为传递的状态参数的具体值(即status状态参数的值)
3、将原有的execute方法删除
4、在struts-config.xml中设置参数名称,根据该参数来确定所设置的方法名(来决定调用哪个方法)
<action attribute="userForm" input="/error.jsp" name="userForm"
path="/user" scope="request" parameter="status"
type="org.liky.struts.action.UserAction">
<forward name="list" path="/list.jsp"></forward>
<forward name="forward" path="/forward.jsp"></forward>
<forward name="update" path="/update.jsp"></forward>
</action>
二、实现原理
DispatchAction的execute方法中取得了patameter设置的参数值(status的值),再根据该值通过反射调用与该值同名的方法自动执行,接收返回结果,将结果返回给,ActionServlet进行跳转
D Struts的文件上传
一、页面上需要设置的
如果需要进行文件上传,就必须对表单进行多媒体封装
<html:form action="user.do" method="post" enctype="multipart/form-data">
文件域
用户照片:<html:file property="photo"></html:file>
二、参数接受你
此处不需要修改其他参数的接收方法,还是使用ActionForm进行自动接收
而文件需要使用Struts提供的封装文件类(FormFile)单独进行接收
三、文件上传及保存
在Struts中,如果要进行文件保存,需要使用IO流操作:需要使用字节的输出流(OutputStream)
在ActionForm中进行处理文件名
在Action中处理文件保存
示例,参见StrutsCRUDDemo
个人总结:
作业StrutsCRUDDemo(已解决)
1、问题1:数据库连接的Driver路径写错,报错,找不到Driver
private static final String DBDRIVER="org.git.mm.mysql.Driver";(错误)
private static final String DBDRIVER="org.gjt.mm.mysql.Driver";
2、文件上传,表单没有封装
ActionForm在接受参数时,文件参数接收类型不匹配错误
发表评论
-
本小姐回来啦 —— 超级感谢MLDN
2009-08-10 13:24 1600我又回来了!哈哈,报告一个好消息,我已经成功入职博彦科 ... -
现在开始积极的找工作
2009-07-05 19:13 1176学习差不多了,得赶在毕业前找到一个工作啊,本小姐这段时 ... -
素质教育 —— 模拟面试
2009-06-30 19:10 1045今天一天都安排了职业素质的培养,包括简历的指导、技术面 ... -
EJB实体Bean开发的复合主键映射
2009-06-29 21:36 1686复合主键的映射:在Hibernate中是通过一个主键类来完成复 ... -
EJB实体Bean开发
2009-06-29 21:33 990EJB实体Bean开发的数据库连接采用数据源连接池的方式,因此 ... -
EJB3.0
2009-06-28 14:14 1233EJB是SUN公司提出的开发 ... -
JBoss服务器配置
2009-06-25 21:21 2079哦,哦,哦,EJB的准备课程啊。 这里开发使用的是 JB ... -
Spring结合iBATIS进行开发
2009-06-25 21:19 963使用Spring管理iBATIS完全可以参照Spring+Hi ... -
ibatis开发框架
2009-06-25 21:17 1258iBATIS为一个ORMapping框架,可以帮助开发人员完成 ... -
WebService分布式开发
2009-06-24 22:23 1907WebService:用来跨语言传递数据。 数据交互是通过XM ... -
北京下雨了
2009-06-18 19:56 772上次在公交车上,听到电视里放《北京下雨了》,那么北京今天 ... -
JQuery
2009-06-10 21:03 12621、JQuery的基本语法 ... -
AJAX中使用JSON
2009-06-10 21:02 1303在Java开发中,如果要使用JSON进行开发,需要一些支持,这 ... -
AJAX框架 —— JSON基本知识
2009-06-10 21:01 945我真想知道这年头到底有多少种框架。 1、JSON ... -
还应该多帮助同学,才能让自己进步快
2009-06-08 21:57 990今天对于本小姐来讲还真是相对轻松的一天啊,上周完成了任 ... -
业务、业务、业务。。。
2009-06-03 18:41 1142项目就是业务,项目中都是业务,技术就这么点东西,只要把 ... -
IBM Project 继续中ing....
2009-06-02 19:08 874项目就是要坚持的做下去,而且要想到做到最好,虽然框架很好 ... -
实际开发了
2009-06-01 18:17 880今天开始新的项目了,项目老师帮我们搭建好了SVN服务器, ... -
web学习笔记 —— 数据源
2009-05-31 19:56 1025使用数据源可以提升数据库的操作性能,当然,不管使用与否,对于程 ... -
SSH(Spring + Struts + Hibernate)
2009-05-31 19:47 2490Spring结合Hibernate ...
相关推荐
Struts2 学习书籍: 《精通Struts:基于MVC的JavaWeb设计与开发(孙卫琴)》 《Struts快速学习指南》 Struts2.0.chm 《Struts 2 in Action》 《Struts in Action 中文版》
Struts学习(二)主要涉及的是Apache Struts框架的深入理解和使用,这是一个广泛应用于Java Web开发中的MVC框架。在本篇文章中,我们将探讨Struts的核心概念、安全问题以及一些实用工具,帮助开发者更好地掌握这一...
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
这个压缩包中包含的资源是学习Struts2的关键资料,帮助开发者深入理解和掌握这个框架。 首先,"struts2权威指南"是学习Struts2的核心参考资料,通常会涵盖框架的基本概念、核心组件、配置细节、MVC设计模式的应用...
【标题】"Struts学习案例" 提供了一个实际的项目实例,旨在帮助学习者快速理解和掌握Struts框架的核心概念与应用。通过深入学习这个案例,你可以了解如何将Struts整合到你的Java Web项目中,以及如何利用它来处理...
这个"STRUTS2学习文档"显然是一个关于如何理解和使用Struts2框架的教程资料,对于想要快速掌握Struts2核心概念和技术的开发者来说,它是一份非常有价值的资源。 Struts2框架的核心特点包括: 1. **拦截器...
本资料“struts2学习 源码”旨在帮助初学者理解Struts2的核心概念和工作原理,通过来自达内的详细代码实例来提供直观的学习体验。 Struts2框架的关键特性包括: 1. **动作(Action)**:在Struts2中,业务逻辑通常...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、易于管理的企业级应用程序。在四天的学习中,你可能...继续深入学习,如整合Spring、Hibernate等其他框架,你将能构建更复杂、更高效的Java web系统。
Struts1.2中文学习手册是一本面向初学者的指南,它涵盖了Struts1.2的基础知识、配置、控制器、模型、视图以及动作和业务逻辑的整合。 首先,手册会介绍Struts1.2的核心概念,包括Action类、Form Bean和Tiles布局。...
struts2学习测试代码,struts2学习测试代码2struts2学习测试代码,struts2学习测试代码
以下是对Struts学习的一些核心知识点的详细解释: 1. **MVC模式**:Model-View-Controller模式是软件工程中的一种设计模式,用于分离业务逻辑、数据模型与用户界面。在Struts中,Controller由Action类实现,Model...
### Struts 2完全学习手册知识点详解 #### Struts 2简介 Struts 2是Struts框架的一个重要分支,它继承了Struts 1.x的一些特性,并在此基础上进行了大幅度的改进与扩展,使之成为了一个更为强大、灵活的Web开发框架...
### Struts2学习心得:深入理解Struts2框架的基本配置与初学者指南 #### Struts2框架概述 Struts2是Struts框架的升级版本,它继承了Struts1的优点并在此基础上进行了改进,提供了更丰富的功能和更好的性能。Struts...
欢迎访问我的博客:http://blog.csdn.net/chenpy/<br> <br>struts学习总结说明 本人精心搜集了有关struts学习的资料,有我以前学习时候写的笔记,有学习用的代码还有 其他的好资料,详细列表如下: 1...
通过Stutus2学习文档,你可以系统地了解和掌握Struts2的各个核心概念,逐步提升你在Web应用开发中的技能。结合博文链接中的内容,可以进一步加深对Struts2实践操作的理解。在实际开发中,熟练运用Struts2能够提高...
这个入门学习源码包包含了关于Struts2的基础知识、学习笔记以及源码实例,旨在帮助初学者快速理解和掌握Struts2的核心概念和技术。 首先,让我们深入了解Struts2的基本原理。Struts2是Apache软件基金会的一个开源...
Struts1的学习资料通常会涵盖以下几个核心知识点: 1. **MVC模式**:MVC模式是软件工程中的一种设计模式,用于分离业务逻辑、数据模型和用户界面。在Struts1中,Action类代表Controller,它接收用户请求并调用业务...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...