一:servlet API

1)完全解耦接口:

  使用ActionContext类进行相关操作:

 package jd.com.actioncontex;

 import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.lang.reflect.Array;
import java.util.Map;
import java.util.Set; public class actioncon extends ActionSupport{ public String getInfo(){
//获取actioncontex对象通过静态方法getcontext
ActionContext actionContext=ActionContext.getContext();
// 获取requet参数
Map<String, Object> map=actionContext.getParameters();
Set<String> k=map.keySet();
for(String i:k){
System.out.println(i);
Object[] objects= (Object[]) map.get(i);
System.out.println(Array.get(objects,));
}
//给servletcontex设置值
Map<String,Object> con=actionContext.getApplication();
con.put("oop",); // 给session设置值
Map<String,Object> session=actionContext.getSession();
session.put("oop",);
//给request设置值
actionContext.put("oop",);
return "ok";
}
}

jsp:

 <%--
Created by IntelliJ IDEA.
User: liumeide
Date: //
Time: :
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body> ${oop} ${sessionScope.oop}<br>
${applicationScope.oop}<br>
${requestScope.get("oop")}
</body>
</html>

原生servletAPI这个比较常用(直接获取相应的域对象)

通过ServletActionContext对象获取相应的域对象。

 package jd.com.or;

 import com.opensymphony.xwork2.ActionSupport;

 import org.apache.struts2.ServletActionContext;

 import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; public class or extends ActionSupport {
/**
* 原生servletAPI
* @return
* @throws Exception
*/
@Override
public String execute() throws Exception {
// 获取HttpServletResponse
HttpServletResponse httpServletResponse= ServletActionContext.getResponse();
httpServletResponse.getWriter();
// 获取HttpServletRequest对象
HttpServletRequest httpServletRequest=ServletActionContext.getRequest();
httpServletRequest.setAttribute("oop","");
// 获取session
HttpSession httpSession=httpServletRequest.getSession();
httpSession.setAttribute("oop","oopsdadad");
return SUCCESS;
}
}

JAVA框架Struts2 servlet API的更多相关文章

  1. Java框架Struts2

    struts2的核心和工作原理   在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于we ...

  2. JAVA框架Struts2(二)

    一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...

  3. JAVA框架Struts2 结果页配置

    一: Action类的返回逻辑视图,一般会出现一个场景就是:当前package 标签下,几个action类需要返回同一个页面的时候.这个时候需要全局结果. 全局结果(使用标签<global-re ...

  4. JAVA框架Struts2 Action类

    一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...

  5. struts2 servlet api 访问方式

    Action中访问ServletAPI. 主要就是接收表单参数及向域对象中存取值. 关于SevletAPI的方法在Action中有三种方式: 1.完全解耦合的形式: * 使用一个类:ActionCon ...

  6. JAVA框架Struts2 数据封装

    一.strust2封装数据包含二部分: 数据在到Action类的时候,会经过拦截器,拦截器会有很多功能:比如数据封装.类型转换等. 我可以查看下strust-default.xml文件,看那些拦截器默 ...

  7. 配置Struts2及Struts2访问servlet api的方式

    Struts2的起源与背景 在很长的一段时间内,在所有的MVC框架中,Struts1处于绝对的统治地位,无论是从市场的普及范围,还是具体的使用者数量. 其他MVC框架都无 法与其相比,作为一一款优秀的 ...

  8. java框架之Struts2(2)-访问Servlet API及请求数据封装

    准备 为后面测试示例编写代码及配置如下: package com.zze.bean; import java.util.Date; public class User { private String ...

  9. java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))

    1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...

随机推荐

  1. HDU3715(二分+2-SAT)

    Go Deeper Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  2. CSS计数器(序列数字字符自动递增)详解———张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4303 一.挖坟不可耻 ...

  3. 洛谷P3248 [HNOI2016]树(主席树 倍增 )

    题意 题目链接 Sol 从上午九点淦到现在qwq 思路比较简单,就是把每次加入的一坨点看成一个,然后直接倍增搞.. 然后慢慢调就可以了... 最后数量级会到达\(10^{10}\),所以应该开long ...

  4. w3school前端教程合集

    有关前端开发的w3c教程合集. http://caibaojian.com/w3school/ 地图 ajax教程 Canvas教程 CSS教程 CSS3教程 CSS3选择器 CSS参考手册 DHTM ...

  5. 过滤器(Filter)与拦截器(Interceptor)的区别

    1 .拦截器是基于java的反射机制的,而过滤器是基于函数回调. 2 .拦截器不依赖与servlet容器,过滤器依赖与servlet容器. 3 .拦截器只能对action请求起作用,而过滤器则可以对几 ...

  6. 在Ubuntu 14.04 LTS系统中设置Apache虚拟主机(一IP多访问)

    参考资料:http://os.51cto.com/art/201406/441909.htm

  7. servlet3.0 web.xml 标头

    <?xml version="1.1" encoding="UTF-8"?> <web-app xmlns="http://java ...

  8. Prometheus Node_exporter 之 System Detail

    System Detail 1. Context Switches / Interrupts type: GraphUnit: shortLabel: CounterContext switches ...

  9. 全球首款完全开源的堡垒机,符合 4A 的专业运维审计系统Jumpserver

    Jumpserver是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统. http://www.jumpserver.org https://github.com/jumpserver/ju ...

  10. MySQL 8.0新特性之原子DDL

    文章来源:爱可生云数据库 简介 MySQL8.0 开始支持原⼦ DDL(atomic DDL),数据字典的更新,存储引擎操作,写⼆进制日志结合成了一个事务.在没有原⼦DDL之前,DROP TABLE ...