一:servlet API

1)完全解耦接口:

  使用ActionContext类进行相关操作:

  1. package jd.com.actioncontex;
  2.  
  3. import com.opensymphony.xwork2.ActionContext;
  4. import com.opensymphony.xwork2.ActionSupport;
  5. import java.lang.reflect.Array;
  6. import java.util.Map;
  7. import java.util.Set;
  8.  
  9. public class actioncon extends ActionSupport{
  10.  
  11. public String getInfo(){
  12. //获取actioncontex对象通过静态方法getcontext
  13. ActionContext actionContext=ActionContext.getContext();
  14. // 获取requet参数
  15. Map<String, Object> map=actionContext.getParameters();
  16. Set<String> k=map.keySet();
  17. for(String i:k){
  18. System.out.println(i);
  19. Object[] objects= (Object[]) map.get(i);
  20. System.out.println(Array.get(objects,));
  21. }
  22. //给servletcontex设置值
  23. Map<String,Object> con=actionContext.getApplication();
  24. con.put("oop",);
  25.  
  26. // 给session设置值
  27. Map<String,Object> session=actionContext.getSession();
  28. session.put("oop",);
  29. //给request设置值
  30. actionContext.put("oop",);
  31. return "ok";
  32. }
  33. }

jsp:

  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: liumeide
  4. Date: //
  5. Time: :
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9. <html>
  10. <head>
  11. <title>Title</title>
  12. </head>
  13. <body>
  14.  
  15. ${oop}
  16.  
  17. ${sessionScope.oop}<br>
  18. ${applicationScope.oop}<br>
  19. ${requestScope.get("oop")}
  20. </body>
  21. </html>

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

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

  1. package jd.com.or;
  2.  
  3. import com.opensymphony.xwork2.ActionSupport;
  4.  
  5. import org.apache.struts2.ServletActionContext;
  6.  
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import javax.servlet.http.HttpSession;
  10.  
  11. public class or extends ActionSupport {
  12. /**
  13. * 原生servletAPI
  14. * @return
  15. * @throws Exception
  16. */
  17. @Override
  18. public String execute() throws Exception {
  19. // 获取HttpServletResponse
  20. HttpServletResponse httpServletResponse= ServletActionContext.getResponse();
  21. httpServletResponse.getWriter();
  22. // 获取HttpServletRequest对象
  23. HttpServletRequest httpServletRequest=ServletActionContext.getRequest();
  24. httpServletRequest.setAttribute("oop","");
  25. // 获取session
  26. HttpSession httpSession=httpServletRequest.getSession();
  27. httpSession.setAttribute("oop","oopsdadad");
  28. return SUCCESS;
  29. }
  30. }

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. 数据定义语句(DDL语句)

    建立表 create table 表名( 字段名1 类型, 字段名2 类型, ........ 字段名n 类型): 类型有: char(n)       是一个类型,叫定长字符串,数据不够就补空格 v ...

  2. java设计模式-----22、状态模式

    概念: State模式也叫状态模式,是行为设计模式的一种.State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样. 根据这个概念,我们举个例子 public c ...

  3. Linux常用基本命令wc-统计文件的字节,字符,行数

    wc命令 作用:统计文件的字节,单词,行数 用法:wc [option] [file] -c:统计字节 ghostwu@dev:~/linux/uniq$ cat ghostwu.txt 192.16 ...

  4. Linux 安装Python虚拟环境,virtualenvwrapper

    virtualenvwrapper工具学习 1.因为virtualenv 工具使用的并不方便 2.安装virtualenvwrapper pip3 install -i https://pypi.do ...

  5. git中的ssh和https方式的使用(gitee为例)

    在使用git管理代码,或者使用github,国内的码云(gitee)的时候,有两种方式可以使用,分别是https和ssh,以下均使用gitee为例. ssh方式 配置ssh,如果不配置ssh的话,cl ...

  6. 大数据java基础day01

    day01笔记 1.==操作符和equals方法 equals方法存在于Object类中,所有类的equals方法都继承于Object 2.String类的常用方法 ①.replace()替换字符串 ...

  7. CSS实现英文或拼音单词首字母大写

    CSS实现英文或拼音单词首字母大写,只需要在css样式中加入: text-transform: capitalize 即可. 测试代码如下: <!doctype html> <htm ...

  8. 【CLR Via C#】2 程序集

    1 定义: 程序集是net 应用程序的部署单元,是组件服用,以及实施安全策略和版本策略的最小单元. 程序集是包含一个或者多个类型定义文件和资源的集合 本地dll或exe与程序集不同           ...

  9. OpenCV 图片美化

    1.彩色直方图 def ImgHist(image,type): color = (255,255,255) windowName='gray' if type==31: color=(255,0,0 ...

  10. JS前端创建CSV或Excel文件并浏览器导出下载

    长期以来,在做文件下载功能的时候都是前端通过ajax把需要生成的文件的内容参数传递给后端,后端通过Java语言将文件生成在服务器,然后返回一个文件下载的连接地址url.前端通过location.hre ...