简述基于Struts框架Web应用的工作流程

简述基于Struts框架Web应用的工作流程 解答:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,当ActionServlet接收到一个客户请求时,将执行如下流程.1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功;5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;6)A...

描述J2EE框架的多层结构,并简要说明各层的作用。

描述J2EE框架的多层结构,并简要说明各层的作用。 解答: 1)Presentationlayer(表示层) a.表示逻辑(生成界面代码) b.接收请求 c.处理业务层抛出的异常 d.负责规则验证(数据格式,数据非空等) e.流程控制 2)Servicelayer(服务层/业务层) a.封装业务逻辑处理,并且对外暴露接口 b.负责事务,安全等服务 3)Persistencelayer(持久层) a封装数据访问的逻辑,暴露接口 b.提供方便的数据访问的方案(查询语言,API,映射机制等) 4)Domainlayer(域层) a.业务对象以及业务关系的表示 b.处理简单的业务逻辑 c.域层的对象可以穿越表示层,业务层,持久层 软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。...

此内容不能显示在一个框架中的原因

想使用iframe嵌套一个网站结果提示是这个原因是对方网站设置了X-Frame-Options:sameorigin ...

关于YII框架Response content must not be an array的解决方法

 publicfunctionactionGet_permissions(){Yii::$app->response->format=yiiwebResponse::FORMAT_JSON;returnAuth_Item::find()->where(['owner_user_id'=>NULL])->all();}就是在要输出的代码之前加上Yii::$app->response->format=yiiwebResponse::FORMAT_JSON; ...

使用DolphinPHP的框架中的excel插件导入数据

直接上函数吧publicfunctionimportfile(){if($this->request->isPost()){if($_POST['files']){CustomerDataModel::where('id','>',0)->delete();$info=Db::name('admin_attachment')->find($_POST['files']);$fields=array('name'=>'名称','count'=>'申请量');$result=plugin_action('Excel/Excel/import',[$info['path'],$table='customer_data',$fields,1,$where=array(),'name']);$this->success($result['message'],'applyinfo');}exit;}else{returnZBuilder::make('form')->addFormItem('file','files','附件')->is...

Django框架之模板语法【转载】

一、什么是模板?只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板。二、模板语法分类一、模板语法之变量:语法为{{}}:在Django模板中遍历复杂数据结构的关键是句点字符 .(也就是点)views.pydefindex(request):name="hellohaiyan"i=200l=[11,22,33,44,55]d={"name":"haiyan","age":20}classPeople(object):#继承元类def__init__(self,name,age):self.name=nameself.age=agedef__str__(self):returnself.name+str(self.age)defdream(self):return"你有梦想吗?"#实例化person_egon=People("egon",10)person_dada=People("dada",34)person_susan=People("susan",34)person_list=[person_dada,person_egon,person_susan...

利用Mircosoft URLRewriter.dll实现页面伪静态

一,获得MircosoftURLRewriter.dll:获得MircosoftURLRewriter.dll可以到http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true这里,选择[下载本文的源代码],下载完毕后,导入工程,我这里没有对该工程做任何修改,保留了原来的重写方式,然后直接在VS2005里面生成.dll文件就可以了。二,使用该dll文件:添加引用,搞定。三,页面方面的设计,这里不在赘述了,我会放一个下载包,有兴趣的朋友下载来看看吧,代码写的比较乱。四,web.config的配置这部是非常关键的,也是静态化能否成功的关键。<?xmlversion="1.0"?><configuration><configSections><sectionname="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLR...

微软企业库数据库连接字串加密

«阅读优秀代码是提高开发人员修为的一种捷径【转】时间管理感悟» 在开发c/s程序的时候,如果用到了微软企业库做为数据库连接,那么就在要app.config中写入明文的数据库连接字串,这样是很不安全的。在发现此问题后,我看一下enterpriselib的源代码,修改了一个类后,就解决了这个问题。该类就是ConnectionString首先在类里面加入一个解密方法:///<summary>///进行DES解密。///</summary>///<paramname="pToDecrypt">要解密的以Base64</param>///<paramname="sKey">密钥,且必须为8位。</param>///<returns>已解密的字符串。</returns>publicstringDecrypt(stringpToDecrypt,stringsKey){if((pToDecrypt.Length%4)!=0)//因为加密后是base64,所以用4来求余进行验证{returnpToD...

微软企业库Unity学习笔记

本文主要介绍:关于Unitycontainer配置,注册映射关系、类型,单实例、已存在对象和指出一些container的基本配置,这只是我关于Unity的学习心得和笔记,希望能够大家多交流相互学习到更多知识,谢谢大家的支持。我们可以通过以下两种方法给Unitycontainer中创建映射:RegisterType:这个方法可以往container中注册一种类型或映射关系,当我们需要调用该类型的实例时,container会自动实例化该类型的对象,无需通过newsomeName方法实例化对象(例如:使用Resolve或ResolveAll方法获取注册类型的实例),当没有指定实例化对象的生命周期,将使用默认的TransientLifetimeManager(每次调用Resolve或ResolveAll方法时都会实例化一个新的对象)。RegisterInstance:这个方法是往container中注册一个已存在实例,通过Resolve或ResolveAll方法获取该类型的实例,默认使用ContainerControlledLifetimeManager管理对象生命周期,而且container...

微软企业库5.0---缓存模块

本篇文章具体官方解释请参照以下链接:http://msdn.microsoft.com/en-us/library/ff664753%28v=PandP.50%29.aspxMicrosoftEnterpriseLibrary5.0下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=bcb166f7-dd16-448b-a152-9845760d9b4c&displaylang=enMicrosoftEnterpriseLibrary5.0Documentation:http://entlib.codeplex.com/releases/view/43135 CodeDemoDownload: 企业库缓存应用程序模块包括了以下特点:可以使用图形界面对企业库缓存应用程序模块进行配置设置.您可以配置一个持久的存储单元,或者使用独立存储或企业库数据访问应用程序模块,其状态与内存中的缓存同步.管理员可以管理的配置使用组策略工具.可以通过创建自定义扩展的过期策略和存储单元的模块.可以保证线程安全....

学习微软企业库--日志模块

企业库日志应用程序模块工作原理图:     从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,TraceSource,TraceListener,LogFormatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实体写入Category配置文件中指定的设备了.企业库日记应用程序模块提供了下列几种记录方法:TheeventlogAne-mailmessageAdatabaseAmessagequeueAtextfileAWindows®ManagementInstrumentation(WMI)eventCustomlocationsusingapplicationblockextensionpoints本文介绍一下如何使用企业库日记应用程序模块向日志文件,数据库,XML文件中写入程序操作日记: 一. 向日志文件写入日记运行EntLibConfig.exe,选择Blocks菜单,单击Add...

学习微软企业库存心得--总结

1:asp.net页面可以继承基类,可以把页面里中的页面加载事件与报错,日志等事件都写进基类,方便每个页面的登陆与共同的方法处理。 例如基类:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Diagnostics;usingMicrosoft.Practices.EnterpriseLibrary.Common.Configuration;usingMicrosoft.Practices.EnterpriseLibrary.ExceptionHandling;usingMicrosoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration;usingMicrosoft.Practices.EnterpriseLibrary.Logging;namespaceEntLibStudy.Helper{publicclassBasePage:System.Web.UI.Page{priva...

学习微软企业库的心得-验证

1:验证 添加DLLMicrosoft.Practices.EnterpriseLibrary.ValidationSystem.ComponentModel.DataAnnotations添加命名空间:usingMicrosoft.Practices.EnterpriseLibrary.Validation.Validators;usingMicrosoft.Practices.EnterpriseLibrary.Validation;加验证publicclassCustomer{[StringLengthValidator(1,25)]publicstringFirstName{get;set;}[StringLengthValidator(1,25)]publicstringLastName{get;set;}[RegexValidator(@"^ddd-dd-dddd$")]publicstringSSN{get;set;}publicAddressAddress{get;set;}}  publicclassAddress{[StringLengthValidato...

现在流行什么 JS库/框架

现在大家最感兴趣的JS库和框架是什么? jQuery91.5%Underscore38.6%AngularJS28.5%Backbone18.6%React15.7%Knockout5.5%Ember4.6%Polymer3.3%  项目中使用的JS库/框架是什么? jQuery56.53%AngularJS15.42%只用原生不用库11.13%React8.14%Ember3.21%Backbone2.36%Underscore1.50%Knockout1.28%Polymer0.43% 工作中使用哪一款JS模块加载器? 不使用加载器51.53%Browserify17.72%RequireJS13.60%webpack11.49%JSPM2.87%其它2.78% 项目中你使用什么单元测试工具进行测试? 不使用测试工具58.91%Mocha15.42%Jasmine15.23%QUnit3.35%其它2.59%Tape1.92%Jest1.05%Intern0.96%Karma0.57%...
首页上一页...1314151617...下一页尾页