DWR整合之Servlet
DWR 与 Servlet
有 2 个 Java 类你一般需要用在 DWR 中,是 webContext 和 WebContextFactory
在 DWR 1.x 它们在 uk.ltd.getahead.dwr 包, DWR 2.0+在 org.directwebremoting 包。这 2 个类给与你访问标准 Http servlet 对象的入口。这些对象是:
•HttpServletRequest
•HttpServletResponse
•HttpSession
•ServletContext
•ServletConfig
1.使用 webContext 的方法:
import uk.ltd.getahead.dwr.WebContext;
import uk.ltd.getahead.dwr.WebContextFactory;
//
WebContext ctx = WebContextFactory.get();
req = ctx.getHttpServletRequest();
处理 Http request 和 response 做为只读是非常重要的。因为,当 Http headers 也许会通过,那么有些浏览器会忽略它们(比如 IE 忽略缓存参数)。任何尝试改变 Http body 将会导致 DWR 错误。
WebContext 使用一个本地线程变量,所以你能使用以上的代码放在任何地方。
也可以看一下 DWR 的 Java 文档 ,或者详细看一下 WebContext 。
WebContext 代替了 DWR1.1 中的 ExecutionContext。
2.方法选择
在没有写依赖于 DWR 的代码时,要能够访问 Http servlet 对象是可以做到的(比如 HttpServletRequest,HttpServletResponse, HttpSession, ServletContext or ServletConfig)。DWR 将自动填充它。
举个例子:
public class Remote {
public void method(int param, ServletContext cx, String s) { ... }
}
然后你将可以从 Javascript 中通访问它尽管没有 ServletContext 参数:
Remote.method(42, "test", callback);
DWR 将为你填充这个参数。
对这个方法这里有个小小的警告,你要保证你的没有把’callback function’作为第一个参数,而应该把它作为最后一个参数,或者作为元数据对象
DWR整合之Servlet的更多相关文章
- DWR 整合之Hibernate
1.让 DWR 和 Hibernate 一起工作的检查列表 1.确保你使用的是最新的 DWR.Hibernate 转换器是新东西,所以你需要下载最新版本 2.确保你的 Hiberante 在没有 DW ...
- DWR 整合之Struts2.3.16
DWR 能够和任何框架结合. DWR 和 Struts 整合有 2 个层次.最基础的层次就是同时使用这两个框架,这是非常容易的,但是这样就不允许在 DWR 和 Struts 之间共享 Action 了 ...
- DWR整合之JSF
DWR 与 JSF DWR 包括两个 JSF 的扩展点,一个创造器和一个 ServletFilter. 1.JSF Creator DWR1.1 中有一个体验版的 JsfCreator.你可以在 dw ...
- spring与dwr整合实现js直接使用java代码
此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 一. jar包介绍 1. dwr-3.0.1.jar,支持 spring 4.3.4 的最低版本 ...
- JavaWeb_(Spring框架)用户登陆Spring整合到Servlet中
一.使用servlet技术开发用户登陆功能 在MySQL中准备一个user表,表中增加一条假数据 使用Servlet实现用户登陆的功能 用户登陆的<from>表单 <form id= ...
- dwr和spring的整合
1.dwr在spring配置文件的配置: <!-- 注意这里新增加的dwr tag, 为使其生效,文件头中要声明namespace --> <dwr:configuration /& ...
- 【DWR系列02】-DWR逆向Ajax即服务器推送
.literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: no ...
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- 【转】Servlet与web.xml的配置
Web.xml常用元素<web-app><display-name></display-name>定义了WEB应用的名字<description>< ...
随机推荐
- Sublime Text: [Decode error - output not utf-8]
今天编译Python时, 输出窗口信息出现: [Decode error - output not utf-8][Decode error - output not utf-8] 发现是print ...
- 做环信聊天布局时遇到的问题(UITextView自适应高度和光标位置不正常)
聊天时UITextView发送消息超过最大高度后点击发送按钮同时将文本清空,光标的位置偏离了正常的轨迹.如图 后研究发现UITextView向上滚动的时候,contentOffset.y都会发生改变, ...
- leetcode342合理运用位操作判断4的幂
Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example: Gi ...
- Internet History, Technology and Security (Week1)
Week1. History: Dawn of Electronic Computing War Time Computing and Conmmunication Keywords: Electro ...
- bash color
紫色:300A24 黄色:C4A000 Tango 紫色: 200213
- 素数槽csuoj
超时代码: #include <iostream> using namespace std;//写一个函数判断是否是素数bool isPrime(int num){int i=2;//co ...
- 利用文本编辑器输入课堂上练习的Hello.java,并在JDK环境下编译和运行。
- 获得正在编辑行的数据 esayui datagrid
function getEditRow(datagridId) {//datagridId为table容器的id var input = $('#' + datagridId).parent().fi ...
- 四维dp 或者 剪枝 + dfs Codeforces Beta Round #6 (Div. 2 Only) D
http://codeforces.com/contest/6/problem/D 题目大意:有一队人,排成一列,每个人都有生命值,你每次可以攻击2~n位置的一个的人,假设每次攻击的位置为pos,那么 ...
- 安装sysbench遇到找不到库文件的问题
export LD_LIBRARY_PATH=/usr/mysql/lib./configure --prefix=/usr/local/sysbench --with-mysql-includes= ...