一: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. AutoMapper在项目中的应用

    一.先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领 ...

  2. 用node.js模拟服务器和客户端

    服务器 代码 var net = require("net") var server = net.createServer(); server.listen(12306," ...

  3. CentOS7安装tomcat9

    1.去官网下载tomcat9的tar.gz安装包 2.移到centos7中并解压 解压命令: tar -xzvf tomcat9.tar.gz 3.打开文件 /etc 目录下的 profile 文件: ...

  4. Vue.js $nextTick

    最近在学习vue.js.了解1.x的基础上再学习2.x的vue.两个版本的确是不会像angular这样1.x和2.x相差甚远.所以学习起来其实还是有很大的关联.但是,终归来说.两者还是有语法上的细微差 ...

  5. 使用CSS 3创建不规则图形

    前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章能让你对不规则图形有一个初步的了解. 现在,我们已经可以使用CSS 3 常 ...

  6. atitit.网络文件访问协议.unc smb nfs ftp http的区别

    atitit.网络文件访问协议.unc smb nfs ftp http的区别 1. 网络文件访问协议1 2. NETBios协议  2 3. SMB(Server Message Block)2 3 ...

  7. 华Xia相机WEB后台设置

    1:设备维护->设备信息:出入口类型:入口2:更多参数->屏显参数:屏显协议18 3:更多参数->外设参数:RS581-1 串口使能勾上 串口工作模式 屏显控制 96004:更多参数 ...

  8. 创建一个OpenGL窗口

    在上节课Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境 中,我们搭建好了OpenGL开发环境.这节课编写代码去测试开发环境. 还是用上节课创建的OpenGL项目,右击 ...

  9. Expo大作战(七)--expo如何使用Genymotion模拟器

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  10. springcloud 入门 1 (浅谈版本关系)

    SpringCloud: 参考官网:https://projects.spring.io/spring-cloud/            中文版         https://springclou ...