1. ActionContext - com.opensymphony.xwork2.ActionContext 它本身就是一个Map,这个Map中存放是Action执行时的上下文,这些上下文也是一些Map组成的,它的大体结构可能就是Action(Map(session(Map(……)),application(Map(……)),locale(Map(……))……));
xwork框架的ActionContext是Action执行时的上下文,存放Action执行时需要用到的对象。在使用webwork时,其中放有Parameter、Session、ServletContext、Locale等信息。这样,webwork负责将Servlet相关数据转换为与ServletAPI无关的Map对象(即ActionContext),使得xwork的Action实现与web层、逻辑层与表现层的解耦。
ServletActionContext extends ActionContext
2. ServletActionContext - org.apache.struts2.ServletActionContext
提供直接与Servlet容器交互的途径。通过它,可以取得HttpServletRequest、HttpServletResponse 、ServletConfig、ServletContext、PageContext 对象。但是,使用ServletActionContext意味着Action与ServletAPI的紧密耦合。
3. ServletContext - javax.servlet.ServletContext可以通过取得:getRealPath(), getInitParameter(), getInitParameterNames(), getAttribute(), getAttributeNames()等等。可以理解为在web中管理参数,页面间数据传递等方面的数据。
ServletContext接口表示一个web应用的上下文。可以想象成一个web一个能用的共享数据区域,该区域保存整个web共享数据。当一个web应用启动的时候,就会创建该ServletContext接口的实现类。我们可以在根据需求,读写ServletContext这个web共享区的数据,那么如何获得ServletContext这个实例呢?下面提供了两种方法
方法1:可以通过ServletConfig接口的getServletContext()方法获得
方法2:通过GenericServlet抽象类的getServletContext()方法获得,不过这个方法其实也是调用了ServletConfig的getServletContext()方法
4. RequestDispatcher - javax.servlet. RequestDispatcher
RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法:include/forward
HttpServletResponse.sendRedirect()方法将响应定向到参数location指定的、新的URL。location可以是一个绝对的URL,如response.sendRedirect("http://java.sun.com")也可以使用相对的URL。如果location以“/”开头,则容器认为相对于当前Web应用的根,否则,容器将解析为相对于当前请求的URL。这种重定向的方法,将导致客户端浏览器的请求URL跳转。从浏览器中的地址栏中可以看到新的URL地址,作用类似于上面设置HTTP响应头信息的实现。
RequestDispatcher.forward()方法将当前的request和response重定向到该RequestDispacher指定的资源。这在实际项目中大量使用,因为完成一个业务操作往往需要跨越多个步骤,每一步骤完成相应的处理后,转向到下一个步骤。比如,通常业务处理在Servlet中处理,处理的结果转向到一个JSP页面进行显示。这样看起来类似于Servlet链的功能,但是还有一些区别。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源,而不仅仅是另外一个Servlet。 include()方法将把Request Dispatcher资源的输出包含到当前输出中。
如果需要从servlet向下一页面(jsp、servlet……)传递request中的值时,使用页面转发RequestDispatcher,使用方法如下:
RequestDispatcher rd = this.getServletConfig().getServletContext().getRequestDispatcher("your URL");
d.forward(request.response);
5. ActionInvocation - com.opensymphony.xwork2.ActionInvocation 将Web页面中的输入元素封装为一个(请求)数据对象
ActionInvocation是Xwork中 Action 的调度的核心。 而对 Interceptor 的调度,也是有 ActionInvocation 负责。ActionInvocation 是一个接口,而DefaultActionInvocation 则是Webwork 对ActionInvocation的默认实现。
6. PageContext - javax.servlet.jsp.PageContext extends JspContext 对象提供存取所有在此网页中可被利用的隐含对象,并且可以管理它们的属性。 是隐含对象对应于javax.servlet.jsp.PageContext型态之对象它的主要功能在提供一个单一个接口,以管理各种的公开对象(像是HttpSession、ServletContext、ServletConfig、ServletRequest、ServletResponse等等),提供一个单一的API来管理属性作用范围等等。也可以是隐含对象都自动的被加入至pageContext中,您可以藉由它来取得与JSP相关的隐含对象对应之Servlet对象,像是getRequest()可以取得ServletRequest,getServletConfig()可以取得ServletConfig,getSession()可以取得HttpSession等等。
7. Jsp 中特殊字符的处理
单引号 ' 改为 \'
双引号 " 改为 \"
斜线 \ 改为 \\
起始标签 <% 改为 <%
结束标签 %> 改为 %\>
8. Jsp page 指令的使用
language ="scriptingLanguage" 主要指定JSP Container要用什么语言来编译JSP 网页。
JSP 2.0 规范中指出,目前只可以使用Java语言,不过未来不排除增加其他语言,如C、C++、Perl 等等。默认值为Java
extends = "className" 主要定义此JSP 网页产生的Servlet 是继承哪个父类
import = "importList" 主要定义此JSP 网页可以使用哪些Java API
session = "true | false" 决定此JSP 网页是否可以使用session 对象。默认值为true
buffer = "none | size inkb" 决定输出流 (output stream)是否有缓冲区。默认值为
8KB 的缓冲区
autoFlush = "true |false" 决定输出流的缓冲区是否要自动清除,缓冲区满了会产生异常 (Exception)。默认值为 true
isThreadSafe = "true |false 主要是告诉JSP Container,此JSP 网页能处理超过一个false" 以上的请求。默认值为 true,如果此值设为 false,SingleThreadModel 将会被使用。SingleThreadModel 在Servlet 2.4 中已经声明不赞成使用(deprecate)
info = "text" 主要表示此JSP 网页的相关信息
errorPage = "error_url" 表示如果发生异常错误时,网页会被重新指向那一个URL
isErrorPage = "true |false" 表示此JSP Page 是否为处理异常错误的网页
contentType = "ctinfo" 表示MIME 类型和JSP 网页的编码方式
pageEncoding = "ctinfo" 表示JSP 网页的编码方式
isELIgnored = "true |false" 表示是否在此JSP 网页中执行或忽略EL 表达式。如果为true 时,JSP Container将
9.EL 隐含对象
PageContext javax.servlet.ServletContext 表示此JSP 的PageContext
PageScope java.util.Map 取得Page范围的属性名称所对应的值
RequestScope java.util.Map 取得Request 范围的属性名称所对应的值
sessionScope java.util.Map 取得Session 范围的属性名称所对应的值
applicationScope java.util.Map 取得Application 范围的属性名称所对应的值
param java.util.Map 如同ServletRequest.getParameter(String name)。回传String 类型的值
分享到:
- 2008-09-08 19:09
- 浏览 1251
- 评论(0)
- 论坛回复 / 浏览 (0 / 1614)
- 查看更多
相关推荐
servlet简单介绍,记录学习servlet初级的学习记录,对初学者会有帮助
在Java Web开发中,Servlet是一种常用的服务器端编程接口,用于处理HTTP请求并生成响应。"基于Servlet的抽象分页类"通常是指一个设计用于协助在Web应用中实现数据分页功能的类。分页是大型数据集展示时必要的功能,...
Filter接口允许开发者创建过滤器,可以在请求到达Servlet之前或之后执行额外的任务,如登录检查、日志记录等。FilterChain接口用于在过滤器链中传递请求。 8. **Servlet生命周期** Servlet的生命周期包括加载、...
Servlet通过继承HttpServlet类或实现Servlet接口来创建。当Web服务器接收到客户端的请求时,它会调用相应的Servlet实例来处理请求并返回响应。 二、Servlet生命周期 Servlet的生命周期包括加载、初始化、服务、销毁...
- **实现类**:为了简化开发过程,Java提供了两种常用的实现类: - **`GenericServlet`**:实现了`Servlet`接口和`ServletConfig`接口,提供了一些常用功能,但需要开发者自己实现`service()`方法。 - **特点**:...
在Java Web开发中,Servlet是一种常用的服务器端编程技术,用于处理和响应客户端(如浏览器)的请求。在本示例中,“servlet实现的分页查询”是指利用Servlet来实现数据库查询结果的分页显示,这通常涉及到与前端...
Servlet是Java平台上的一个核心...总的来说,这些文档提供了Servlet开发的基本知识,包括核心概念、常用类和接口的使用、以及Servlet在实际应用中的实践指南。对于初学者或已有经验的开发者来说,都是很好的参考资料。
下面将详细介绍如何利用JSP+bean+servlet来开发四大常用网站——新闻系统、论坛、电子商城和博客平台。 首先,新闻系统通常需要展示实时更新的新闻内容,具备分类、搜索等功能。使用JSP作为视图层,可以方便地生成...
在本项目中,Servlet会处理这四种操作,如插入新记录、检索记录、更新已有记录以及删除记录。 4. **分页**: 分页是展示大量数据时常用的技术,可以提高用户体验。在本项目中,可能通过设置每页显示的记录数,然后...
**JSP+Servlet+JavaBean+JDBC简单登录实例详解** 在Web开发中,构建一个用户登录系统是常见的需求。...这种架构模式是Web开发中常用的设计模式,有助于理解和掌握Web应用的生命周期及数据交互流程。
在IT领域,JavaBean和Servlet是构建Web应用程序的常用技术。在这个“javabean+servlet简易银行系统”中,开发者利用这两种技术实现了基本的银行操作,包括用户登录、注册、存款和取款等功能。下面将详细介绍这两个...
在IT行业中,Web开发是至关重要的领域,而Servlet和MVC(Model-View-Controller)模式则是构建Web应用程序的常用技术。在这个项目"web项目servlet,mvc"中,我们将探讨如何将JSP(JavaServer Pages)、Servlet、JDBC...
在Java Web开发中,Servlet是一种常用的服务器端编程接口,用于处理HTTP请求并生成响应。本教程将探讨如何使用Servlet来实现一个高效的分页效果,类似于百度搜索引擎的展示方式。分页是网页应用中常见的功能,它能...
【标题】"jsp+servlet小例子增删查改"是一个非常适合初学者的教程,它涵盖了在Web开发中常用的两种技术——JavaServer Pages (JSP) 和Servlet,用于实现对数据库中的数据进行基本的CRUD(Create、Read、Update、...
本文将深入解析JSP及其相关Servlet的常用方法,帮助开发者更好地理解和运用这些关键概念。 #### 一、JSP页面指令(Directives) JSP页面指令定义了页面的属性和行为。主要包括以下几种: 1. **`<%@ page %>` 指令...
Servlet 3.0引入了注解式配置,可以不用web.xml文件直接在Servlet类上声明,简化了部署过程。此外,还支持异步处理、WebSocket协议等现代Web特性。 综上所述,"servlet从入门到高级"的学习涵盖了Servlet的基本概念...
在Java编程中,有几个常用的类对于开发人员来说是不可或缺的,这些类可以帮助我们处理数据库操作、页面分页以及过滤请求。下面将详细讲解标题和描述中提到的几个关键概念。 首先,`baseDao` 类是Java开发中的一个...
3. **MVC设计模式**: MVC模式是软件工程中一种常用的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在本系统中,模型负责管理数据和业务逻辑,视图负责展示数据,...
2. **计算页数**:Servlet根据数据库中的总记录数和每页显示的记录数计算总页数。 3. **执行SQL查询**:使用PreparedStatement或JDBC API编写SQL查询,通常带有LIMIT子句(在MySQL中)或OFFSET/FETCH(在SQL Server...
在Web开发中,JSP和Servlet是两种常用的组件,用于动态生成网页内容和处理用户请求。 【描述】"是关于jsp 对于同学录的 增加以及修改删除等操作"表明这个项目主要涵盖了同学录的基本功能,包括添加新的记录、更新...