建设部网站221号文件,如何用天地图做网站,网站建设与维护百度百科,东莞网站改版一、struts.xml配置#xff1a; 1.分模块配置方法#xff1a; 比如某个系统多个模块#xff0c;我们把资产管理模块和车辆管理模块#xff0c;分开#xff0c;在总…一、struts.xml配置 1.分模块配置方法 比如某个系统多个模块我们把资产管理模块和车辆管理模块分开在总的struts.xml配置文件中include他们 工程结构 struts.xml配置 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//ENhttp://struts.apache.org/dtds/struts-2.0.dtdstrutsinclude filecheliang.xml/includeinclude filezichan.xml/include
/struts cheliang.xml: strutspackage namecheliang namespace/cheliang extendsstruts-defaultaction namecheliang classcom.cy.action.CheLiangActionresult namesuccess${pageContext.request.contextPath}/success.jsp/result/action/package/struts View Code zichan.xml: strutspackage namezichan namespace/zichan extendsstruts-defaultaction namezichan classcom.cy.action.ZiChanActionresult namesuccess${pageContext.request.contextPath}/success.jsp/result/action/package/struts View Code CheLiangAction.java: public class CheLiangAction extends ActionSupport{private static final long serialVersionUID 1L;public String execute() throws Exception {System.out.println(执行了CheLiangAction Action的默认方法);return SUCCESS;}
} View Code ZiChanAction.java: public class ZiChanAction extends ActionSupport{private static final long serialVersionUID 1L;public String execute() throws Exception {System.out.println(执行了CheLiangAction Action的默认方法);return SUCCESS;}
} View Code 测试 2.使用通配符 struts.xml: ?xml version1.0 encodingUTF-8 ?
!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//ENhttp://struts.apache.org/dtds/struts-2.0.dtdstrutspackage namemanage namespace/ extendsstruts-default!-- method{1} 取到第一个通配符--action namestudent_* classcom.cy.action.StudentAction method{1}result namesuccesssuccess.jsp/result/actionaction namegrade_* classcom.cy.action.GradeAction method{1}result namesuccesssuccess.jsp/result/action/package
/struts com.cy.action.GradeAction.java: package com.cy.action;import com.opensymphony.xwork2.ActionSupport;public class GradeAction extends ActionSupport{private String name;public String getName() {return name;}public void setName(String name) {this.name name;}public String list()throws Exception{System.out.println(班级查找);name班级查找;return SUCCESS;}public String add()throws Exception{System.out.println(班级添加);name班级添加;return SUCCESS;}public String update()throws Exception{System.out.println(班级修改);name班级修改;return SUCCESS;}public String delete()throws Exception{System.out.println(班级删除);name班级删除;return SUCCESS;}} View Code com.cy.action.StudentAction.java: package com.cy.action;import com.opensymphony.xwork2.ActionSupport;public class StudentAction extends ActionSupport{private String name;public String getName() {return name;}public void setName(String name) {this.name name;}public String list()throws Exception{System.out.println(学生查找);name学生查找;return SUCCESS;}public String add()throws Exception{System.out.println(学生添加);name学生添加;return SUCCESS;}public String update()throws Exception{System.out.println(学生修改);name学生修改;return SUCCESS;}public String delete()throws Exception{System.out.println(学生删除);name学生删除;return SUCCESS;}} View Code success.jsp: html
head
meta http-equivContent-Type contenttext/html; charsetUTF-8
titleInsert title here/title
/head
bodyOK! ${name}
/body
/html View Code index.jsp: html
head
meta http-equivContent-Type contenttext/html; charsetUTF-8
titleInsert title here/title
/head
bodyh1通配符/h1a hrefstudent_list target_blank学生信息查询/anbsp;a hrefstudent_add target_blank学生信息添加/anbsp;a hrefstudent_update target_blank学生信息修改/anbsp;a hrefstudent_delete target_blank学生信息删除/anbsp;br/br/a hrefgrade_list target_blank班级信息查询/anbsp;a hrefgrade_add target_blank班级信息添加/anbsp;a hrefgrade_update target_blank班级信息修改/anbsp;a hrefgrade_delete target_blank班级信息删除/anbsp;br//body
/html View Code 测试 3.上面的通配符配置方式还可以简化 struts.xml: strutspackage namemanage namespace/ extendsstruts-defaultaction name*_* classcom.cy.action.{1}Action method{2}result namesuccesssuccess.jsp/result/action/package
/struts 因为{1}Action获取到student/grade是小写index.jsp中改为大写的 index.jsp: bodyh1通配符/h1a hrefStudent_list target_blank学生信息查询/anbsp;a hrefStudent_add target_blank学生信息添加/anbsp;a hrefStudent_update target_blank学生信息修改/anbsp;a hrefStudent_delete target_blank学生信息删除/anbsp;br/br/a hrefGrade_list target_blank班级信息查询/anbsp;a hrefGrade_add target_blank班级信息添加/anbsp;a hrefGrade_update target_blank班级信息修改/anbsp;a hrefGrade_delete target_blank班级信息删除/anbsp;br//body 测试结果ok 二、动态方法调用 struts.enable.DynamicMethodInvocation,开启动态方法调用默认是false 上面的struts.xml修改为如下 strutsconstant namestruts.enable.DynamicMethodInvocation valuetrue /package namemanage namespace/ extendsstruts-defaultaction namestudent classcom.cy.action.StudentActionresult namesuccesssuccess.jsp/result/actionaction namegrade classcom.cy.action.GradeActionresult namesuccesssuccess.jsp/result/action/package
/struts index.jsp: bodyh1动态方法调用/h1a hrefstudent!list target_blank学生信息查询/anbsp;a hrefstudent!add target_blank学生信息添加/anbsp;a hrefstudent!update target_blank学生信息修改/anbsp;a hrefstudent!delete target_blank学生信息删除/anbsp;br/br/a hrefgrade!list target_blank班级信息查询/anbsp;a hrefgrade!add target_blank班级信息添加/anbsp;a hrefgrade!update target_blank班级信息修改/anbsp;a hrefgrade!delete target_blank班级信息删除/anbsp;br//body View Code 测试 三、Action生命周期 例子 com.cy.action.HelloAction.java: package com.cy.action;import com.opensymphony.xwork2.ActionSupport;public class HelloAction extends ActionSupport{/*** */private static final long serialVersionUID 1L;public HelloAction() {System.out.println(this);}Overridepublic String execute() throws Exception {// TODO Auto-generated method stubreturn SUCCESS;}} View Code struts.xml: ?xml version1.0 encodingUTF-8 ?
!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//ENhttp://struts.apache.org/dtds/struts-2.0.dtdstrutspackage namemanage namespace/ extendsstruts-defaultaction namehello classcom.cy.action.HelloActionresult namesuccesssuccess.jsp/result/action/package
/struts View Code 我们在每次请求hello链接的时候产生HelloAction实例实例的构造方法中打印了当前类对象 测试结果 多次访问http://localhost:8080/Struts2Chap01/hello console 证明了 每次请求hello都会产生一个新的HelloAction实例 每次产生新的保证安全点但是每次都产生新的感觉有点浪费当并发量很大的时候内存可能有问题 等到以后spring管理struts的Action都是单例HelloAction始终只有1个当然也可以多例 ----------------------转载于:https://www.cnblogs.com/tenWood/p/7092246.html