为了避免与 Servlet API 耦合在一起, 方便 Action 做单元测试, Struts2 对 HttpServletRequest, HttpSession 和 ServletContext 进行了封装, 构造了 3 个 Map 对象来替代这 3 个对象, 在 Action 中可以直接使用 HttpServletRequest, HttpSession, ServletContext 对应的 Map 对象来保存和读取数据.这里大家注意,struts1是没有提供与Servlet的API解…
当接受表单参数,向页面保持数据时.要用到Struts访问Servlet 的API .下面只做参考,有错误或不同意见可以发送邮箱2440867831@qq.com  .建议大家看struts文档,源代码 1.struts2通过ActionContext访问 com.opensymphony.xwork2.ActionContext;类有很多方法这里只列举几个常用的方法: 列举个小例子 Struts2的核心配置web.xml 就不做说明了  .前面已经操作过: Struts.xml <?xml ve…
自动装配 1.根据属性的getter和setter获取值  index.jsp <s:form action="hello" method="POST"> 用户名:<s:textfield name="username"/><br> 密码<s:password name="password"/> <s:submit value="登录"/> <…
1. 在Action类中也可以获取到Servlet一些常用的API * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上. * 提供JSP注册的页面,演示下面这三种方式 <h3>注册页面</h3> <form action="${ pageContext.request.contextPath }/xxx.action" method="post"&g…
1. 在Action类中也可以获取到Servlet一些常用的API * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上. * 提供JSP注册的页面,演示下面这三种方式 <h3>注册页面</h3> <form action="${ pageContext.request.contextPath }/xxx.action" method="post"&g…
有两种方式可以实现在Action中使用Servlet的API.一种是使用org.apache.struts2.ServletActionContext类,另一种是使用com.opensymphony.xwork2.ActionContext类. struts2推荐的是使用第二种方式:使用ActionContext类来对request.session和application对象进行操作. 方式一:使用ServletActionContext类(紧耦合) 1. 创建控制层 package com.c…
1.struts作为控制器,正常非常多时候要訪问到servlet的API.经常使用功能:   (1).获取请求參数,控制界面跳转   (2).把共享数据存储于request,session,servletContext中,获取作用域中的数据 宏观的来说,应该有三种訪问方式. 2.第一种:实现接口,訪问Action时完毕注入 ServletContextAware void setServletContext(javax.servlet.ServletContext context) Servle…
一.Result结果配置 1.全局和局部结果 ​ 平常我们设置跳转页面,是在action标签里面加上 result标签来控制,这种设置的页面跳转,称之为局部结果页面但是我们有时候在很多个action里面,针对不同的结果进行跳转时,也有可能跳转同一个页面,那么这个时候就可以配置全局结果页面. 1.1局部结果 在action里面写上的result跳转的页面,称之为局部结果页面配置 <action name="demo01_*" class="com.pri.web.acti…
一.Struts2页面配置 在struts2中页面可以分为两种,全局页面和局部页面. 1.全局页面: 在一个<package></package>标签内的多个action都要跳转到该页面,则该页面是全局页面. 全局页面的配置:可以在<package></package>标签内使用<global-result></global-result>标签来配置. 注意:该配置只有在该<package>标签内才有效. <stru…
servlet API通过ActionContext进行获取 Struts2对HttpServletRequest,HttpSession和ServletContext进行了封装,构造了3个Map对象替代以上以上3个对象.在Action中可以直接使用HttpServletRequest,HttpServletSession,ServletContext对应的Map对象来保存和读取对象. ActionContext是Action执行的上下文,在ActionContext保存了Action,执行所需…
启动后访问jsp 输入姓名密码: 提交后跳转打action 打印: 修改类: 配置同上 结果同上. 实现这俩接口 就得到了 以上代码附上: struts.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" &quo…
一.Struts2访问Servlet的API 前面已经对Struts2的流程执行完成了,但是如果表单中有参数如何进行接收?又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能. 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问Servlet API.虽然Struts2中的Action访问Servlet API麻烦一些,但是这却是Struts2中Ac…
http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行完成了,但是如果表单中有参数,那如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能. 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问S…
Struts2访问Servlet的API方式三:接口注入 通过实现ServletRequestAware, ServletContextAware 接口,拿到Request.ServletContext域对象,完成相应的功能.还可以实现ServletContextAware拿到Response对象等. 相对于前两种方式,较为繁琐. 注: Action是多例的,Servlet是单例的,在Action中提供如下所述成员变量不会出现线程安全问题(可以在Action类中设置一个构造方法,每当Action…
Struts2访问Servlet的API方式二:原生方式 和解耦合的方式不同,原生方式既可以拿到域对象,也可以调用域对象中的方法 前端jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit…
结果跳转方式 转发 <!-- 转发 --> <action name="Demo1Action" class="cn.itheima.a_result.Demo1Action" method="execute" > <result name="success" type="dispatcher" >/hello.jsp</result> </action…
cpj-swagger 原文地址:https://github.com/3cpj/swagger 1. Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步. 个人觉得,swagger的一个最大的优点是能实时同步api与文档.在项目开发过程中,发生过多次:修改代码但是没有更新文档,…
Struts2  用过滤器代替了 servlet ,????  且不需要tomcat就可以直接做功能测试…
Struts2入门2 Struts2深入 链接: http://pan.baidu.com/s/1rdCDh 密码: sm5h 前言: 前面学习那一节,搞得我是在是太痛苦了.因为在Web项目中确实不知道该添加那些Struts2的包,不该添加那些.当我一股脑的将所有的包都加进去的时候,悲剧照样是发生,估计是因为Web项目导致的.将上面那个例子配置好真心费事,然后就是最好不要使用FilterDispatcher这个类当做Struts2在web.xml配置的拦截器,转到使用org.apache.str…
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Struts2是基于MVC设计模式的一种流行.成熟的Web应用框架. 它不仅仅是Struts1的下一个版本,更是对Structs架构的一个完整重写. 而WebWork则是以Struts框架为基础的一个框架,它的目标是提供一个基于Struts的增强.改进框架,使开发人员更轻松地进行Web开发. 在一段时间后,Webwork框架和Struts社区携手共同创建…
*五)与ServletAPI解耦 方式1 AddAction public String execute() throws Exception, IOException{ //获取请求对象request 响应对象response 应用对象ServletContext HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response=ServletActionContext.getR…
Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hibernate框架知识,因为Spring可以将Struts和Hibernate框架集成,所以还是要学习一些Struts框架技术.本章主要是Struts的简单介绍. 1.Struts2概述 Struts2是最流行的MVC框架技术,特使以WebWork和Struts1为基础,开发的新的框架技术,保留了St…
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2工作原理 一个请求在Struts2框架中的处理步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如SiteMesh Plugin) 3.接着FilterDispatcher(2.0~2.1.2:2.1.2之后是StrutsPre…
1.@RequestParam 我们的超链接:<a href="springMvc/testRequestParam">testRequestParam</a><br/> /** * * @param username * @param age * @return * 1.没有加required=false, * 这样访问会报错,如果加了的话,数据类型是int,必须加defaultValue="0" * 否则也会报错,要么将数据类…
一.Pojo作为参数: 实体: package com.hy.springmvc.entities; public class User { private String username; private String password; private String email; private Address address; public String getUsername() { return username; } public void setUsername(String us…
Servlet的API有很多,这里只谈谈两个Servlet对象:ServletConfig对象和ServletContext对象. 1. ServletConfig对象 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数,当Servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些参数封装到ServletConfig对象中,并在调用Servlet的init方法时,将ServletConfig对象传递给Se…
Servlet常用API学习 (三) 一.HTTPServletRequest简介 Servlet API 中定义的 ServletRequest 接口类用于封装请求消息. HttpServletRequest 是专用于HTTP协议的ServletRequest 子接口,它用于封装 HTTP 请求消息. 在 service() 方法内部调用 HttpServletRequest 对象的各种方法来获取请求消息. 获取请求行的相关信息 HTTP请求消息的请求行包括请求方式.资源路径和HTTP协议版本…
Servlet常用API学习 一.HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. HTTP是 hypertext transfer protocol(超文本传输协议)的简写,它是 TCP/IP 协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式. HTTP协议的版本 HTTP/1.0.HTTP/1.1.HTTP-NG HTTP会话方式,四个步骤: 浏览器与WEB服务器的连接过程是短暂的,…
Servlet常用API学习 一.Servlet体系结构(图片来自百度图片) 二.ServletConfig接口 Servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外部的资源,所以,Serlvet引擎需要将表示Servlet容器的对象传递给Servlet.另外,在web.xml文件中为某个Servlet设置的友好名称和初始化参数等信息也需要传递给该Servlet Servlet引擎将代表Servlet容器的对象(ServletContext)和Servlet的配…
创建时间:6.15 一.Servlet的API(生命周期) (1)Servlet接口中的方法 1)init(ServletConfig config) 何时执行:servlet对象创建的时候执行 ServletConfig : 代表的是该servlet对象的配置信息 ServletConfig能获得什么配置信息:(了解即可) web.xml中的初始化参数: 2)service(ServletRequest request,ServletResponse response) 何时执行:每次请求都会…