JAVA框架Struts2 servlet API
一: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的更多相关文章
- Java框架Struts2
struts2的核心和工作原理 在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于we ...
- JAVA框架Struts2(二)
一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...
- JAVA框架Struts2 结果页配置
一: Action类的返回逻辑视图,一般会出现一个场景就是:当前package 标签下,几个action类需要返回同一个页面的时候.这个时候需要全局结果. 全局结果(使用标签<global-re ...
- JAVA框架Struts2 Action类
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...
- struts2 servlet api 访问方式
Action中访问ServletAPI. 主要就是接收表单参数及向域对象中存取值. 关于SevletAPI的方法在Action中有三种方式: 1.完全解耦合的形式: * 使用一个类:ActionCon ...
- JAVA框架Struts2 数据封装
一.strust2封装数据包含二部分: 数据在到Action类的时候,会经过拦截器,拦截器会有很多功能:比如数据封装.类型转换等. 我可以查看下strust-default.xml文件,看那些拦截器默 ...
- 配置Struts2及Struts2访问servlet api的方式
Struts2的起源与背景 在很长的一段时间内,在所有的MVC框架中,Struts1处于绝对的统治地位,无论是从市场的普及范围,还是具体的使用者数量. 其他MVC框架都无 法与其相比,作为一一款优秀的 ...
- java框架之Struts2(2)-访问Servlet API及请求数据封装
准备 为后面测试示例编写代码及配置如下: package com.zze.bean; import java.util.Date; public class User { private String ...
- java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))
1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...
随机推荐
- 数据定义语句(DDL语句)
建立表 create table 表名( 字段名1 类型, 字段名2 类型, ........ 字段名n 类型): 类型有: char(n) 是一个类型,叫定长字符串,数据不够就补空格 v ...
- java设计模式-----22、状态模式
概念: State模式也叫状态模式,是行为设计模式的一种.State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样. 根据这个概念,我们举个例子 public c ...
- Linux常用基本命令wc-统计文件的字节,字符,行数
wc命令 作用:统计文件的字节,单词,行数 用法:wc [option] [file] -c:统计字节 ghostwu@dev:~/linux/uniq$ cat ghostwu.txt 192.16 ...
- Linux 安装Python虚拟环境,virtualenvwrapper
virtualenvwrapper工具学习 1.因为virtualenv 工具使用的并不方便 2.安装virtualenvwrapper pip3 install -i https://pypi.do ...
- git中的ssh和https方式的使用(gitee为例)
在使用git管理代码,或者使用github,国内的码云(gitee)的时候,有两种方式可以使用,分别是https和ssh,以下均使用gitee为例. ssh方式 配置ssh,如果不配置ssh的话,cl ...
- 大数据java基础day01
day01笔记 1.==操作符和equals方法 equals方法存在于Object类中,所有类的equals方法都继承于Object 2.String类的常用方法 ①.replace()替换字符串 ...
- CSS实现英文或拼音单词首字母大写
CSS实现英文或拼音单词首字母大写,只需要在css样式中加入: text-transform: capitalize 即可. 测试代码如下: <!doctype html> <htm ...
- 【CLR Via C#】2 程序集
1 定义: 程序集是net 应用程序的部署单元,是组件服用,以及实施安全策略和版本策略的最小单元. 程序集是包含一个或者多个类型定义文件和资源的集合 本地dll或exe与程序集不同 ...
- OpenCV 图片美化
1.彩色直方图 def ImgHist(image,type): color = (255,255,255) windowName='gray' if type==31: color=(255,0,0 ...
- JS前端创建CSV或Excel文件并浏览器导出下载
长期以来,在做文件下载功能的时候都是前端通过ajax把需要生成的文件的内容参数传递给后端,后端通过Java语言将文件生成在服务器,然后返回一个文件下载的连接地址url.前端通过location.hre ...