action与servlet区别以及action了解
来源:互联网 发布:国内怎么看netflix知乎 编辑:程序博客网 时间:2024/05/17 20:35
servlet生命周期为init service destroy,servlet是单例模式,注意线程安全问题,属性数据(成员变量)是全局变量,web.xml配置繁琐,servlet的转向方法
if(method.equals("aa")){
转向页面;
}
这种结构不好.
重构servlet是为了①减少web.xml的配置代码量(通过过滤器实现)
public void doFilter(ServletRequest request,ServeletResponse response,FilterChain arg2) throws IOException ,ServeletException{
this.request=(HttpServeletRequest)request;
this.response=(HttpServeletResponse)response;
String uri=this.request.getRequestURI();// 获取请求路径
String actionName=ServletsUtils.convert(uri);//获取actionName
//利用java反射机制获得到action对应的实例对象
Action action=(Action)Class.forName("cn.action类的全名").newInstance();
String forward=action.execute(this.request,this.response);
this.request.getRequestDispatcher("index.jsp").forward(this.request,this.response);
}
②把servlet代码转移到action中.
action不是单例模式.
struts2
在tomcat启动时加载三个配置文件
src/struts-default.xml
src/struts-plugin.xml
src/struts.xml
配置文件中
<package name="packageName" namespace="/namespace" extends="struts-default">
<action name="actionName" class="cn.className类的全名" method="methodName">
<result name="method返回值" type="默认dispatcher">target.jsp</result>
</action>
</package>
packageName是包名,具有唯一性和继承性
namespace代表命名空间和url相对应
extends继承了struts-default,具有struts-default包中的所有功能
action表示一个action类,name属性是类的名称,和访问的url对应
class属性如果不写默认为ActionSupport类,<default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
result中有两个属性,name和type,其中name默认值为success,type默认值为dispatcher,type常见的值有dispatcher,redirect,redirectAction.
在struts2的action中,action是原型模式(不是单例模式)可以通过构造函数证明.
- action与servlet区别以及action了解
- Servlet url-pattern /与/*区别,*.action以及SpringMVC中/*解析出错过程分析
- Struts2中Action与Servlet的联系与区别
- Jsp、Servlet、Action的区别
- struts2控制器Action与servlet的解耦以及Action动态方法的调用
- Action与Command区别
- 对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest
- 对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest
- 对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest
- 对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest
- 对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest
- servlet和struts中action的区别
- ActionContext和ServletActionContext区别以及action访问servlet API的三种方法
- ActionContext和ServletActionContext区别以及action访问servlet API的三种方法
- ActionContext和ServletActionContext区别以及action访问servlet API的三种方法
- ActionContext和ServletActionContext区别以及action访问servlet API的三种方法
- dispatchaction与action的区别
- redirect与redirect-action区别
- 论电子病历文本编辑器
- SpringBoot默认的H2数据库如何查看?
- Linux-2.6 所有版本内核源码下载
- Parasoft C++test使用教程:测试用例生成(下)
- 笨办法学Python笔记-前言
- action与servlet区别以及action了解
- UVA 815 洪水
- LINQ to SQL活学活用(1):这要打破旧观念
- 在android framework中添加自定义系统服务
- Swift3-CGRectMake在Xcode8上'CGRectMake' is unavailable in Swift
- java中OutOfMemoryError的诊断以及Eclipse Memory Analyzer
- mysql数据类型
- go安装——ubuntu
- golang make()内置函数