`

DWR访问Servlet API

    博客分类:
  • DWR
阅读更多

DWR提供两种方式访问Servlet API:

  1. 使用WebContext类,WebContext是由WebContextFactory产生的,它提供一个静态方法get()获得

  2. 直接访问Servlet API 即在方法传参为HttpSession

访问Servlet API(使用WebContext)  web.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
  <servlet>
  	<servlet-name>dwr-invoker</servlet-name>
  	<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  	<init-param>
  		<param-name>debug</param-name>
  		<param-value>true</param-value>
  	</init-param>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>dwr-invoker</servlet-name>
	<url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
 Java处理类
package com.lbx.dwr.servlet;

import org.directwebremoting.WebContextFactory;

public class AddSession {
	
	//该方法用于将name参数添加为一个HttpSession属性
	public void addSession(String name){
		//通过WebContextFactory访问Servlet API
		WebContextFactory.get().getSession(true).setAttribute("username", name);
		
	}
	
}
 dwr.xml文件的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">

<dwr>
 
  <allow>

    <create creator="new" javascript="Demo">
      <param name="class" value="com.lbx.dwr.servlet.AddSession"/>
    </create>
    
  </allow>
  
</dwr>
 客户端jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>访问Servlet API(使用WebContext)</title>

		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<script type='text/javascript' src='dwr/interface/Demo.js'></script>
		<script type='text/javascript' src='dwr/engine.js'></script>
		<script type='text/javascript' src='dwr/util.js'></script>

	</head>

	<body>
		<h3>
			访问Servlet API
		</h3>
		请输入您的名字
		<input id="name" name="name" type="text" />
		<br />
		<input type="button" value="添加session属性"
			onclick="Demo.addSession(dwr.util.getValue('name'));" />
		<div id="sessionMsg"></div>	
	</body>
</html>
 测试jsp代码,看是否将值放到Session中去了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>访问Servlet API</title>

		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
	</head>

	<body>
		${sessionScope.username} <br>
		<%=request.getSession().getAttribute("username") %>
	</body>
</html>
 

分享到:
评论

相关推荐

    dwr结合servlet使用

    1. DWR提供了安全机制,如CORS(跨源资源共享)配置,防止非法的跨域访问。 2. 可以通过配置DWR来限制允许的JavaScript方法调用,避免敏感操作被误触发。 3. 为了提高性能,可以启用DWR的缓存机制,减少不必要的网络...

    DWR3.0 jar包API文档

    - **配置DWR**:需要在Web应用的`web.xml`文件中添加DWR的servlet配置,以启用DWR服务。 - **创建Remote Classes**:定义要在客户端使用的服务器端Java类,并使用DWR的注解(如`@RemoteClass`)标记它们。 - **...

    dwr开源框架的API大全

    在本文中,我们将深入探讨DWR的API大全,以及它如何帮助开发者构建动态、交互性强的Web应用程序。 1. **DWR的核心组件** DWR由三个主要组件构成:Engine、Servlet和Reverse Ajax。Engine是核心,负责处理所有通信...

    DWR的访问DAO和Servlet

    在"DWR的访问DAO和Servlet"这个主题中,我们将探讨如何利用DWR的技术特性,结合DAO和Servlet实现高效、实时的Web应用交互。 首先,我们需要在服务器端创建一个Servlet,该Servlet将作为DWR的入口点。Servlet会配置...

    dwr跨域访问以及dwr的使用+dwr.jar

    2. **DWR的跨域解决方案**:DWR通过提供动态生成的JavaScript文件和Servlet来实现跨域。这些JavaScript文件包含对服务器端方法的引用,使得前端可以安全地调用后端服务。DWR的CORS支持可以通过配置文件或注解来启用...

    DWR 框架使用手册

    6. **DWR的API**:DWR提供了几个核心接口和类,如`Engine`、`Util`和`Call`,它们构成了DWR的JavaScript API,帮助开发者更方便地进行Ajax开发。 7. **版本差异**:虽然示例基于DWR 1.1,但需要注意的是,DWR后续...

    dwr实现ajax功能ajax+dwr

    2. **创建可远程调用的Java类和方法**: 标记这些类和方法为可被DWR访问。 3. **生成JavaScript接口**: DWR会自动根据Java类生成对应的JavaScript接口,这些接口可以直接在客户端调用。 4. **在HTML/JavaScript中使用...

    DWR的使用方法

    &lt; servlet-class &gt; uk.ltd.getahead.dwr.DWRServlet &lt;/ servlet-class &gt; &lt; param-name &gt; debug &lt; param-value &gt; true &lt;/ servlet &gt; &lt; servlet-mapping &gt; &lt; servlet-name &gt; DWR &lt;/ servlet-name &gt; ...

    DWR与后台异步交互简单例子

    `dwr.jar`包含了DWR的所有核心类和库,而`servlet-api.jar`则提供了Servlet API,使得DWR可以与Web服务器进行交互。 **配置文件**在DWR中扮演着重要角色。有两个主要的配置文件:`dwr.xml`和`web.xml`。 1. **dwr....

    DWR快速配置入门 DWR快速配置入门.

    考虑到安全性,你可以限制DWR允许访问的IP地址,设置session超时等。对于性能优化,可以考虑启用缓存,控制并发请求的数量,以及合理地组织DWR调用。 7. **调试与日志** DWR提供了丰富的调试和日志功能。通过调整...

    dwr.jar 以及dwr配置文件

    在实际项目中,将dwr.jar添加到项目的类路径中,然后在web.xml中配置DWR的servlet,最后根据项目需求调整dwr.xml文件,就可以开始利用DWR的强大功能了。DWR支持多种服务器环境,如Tomcat、Jetty等,并且兼容各种现代...

    DWR入门教程

    - **不支持方法重载**:DWR不支持JavaScript中的方法重载,因此在Java中设计API时应避免使用相同方法名但参数不同的情况。 ### 结语 DWR简化了服务器推送技术的实现,让开发者能够轻松创建实时交互的Web应用。通过...

    DWR所需要的包与基本web.xml

    2. **DWR Servlet**:声明一个名为`dwr-invoker`的Servlet,它会处理DWR的请求。在这里,你需要指定Servlet的类名`org.directwebremoting.servlet.DwrServlet`。 3. **DWR初始化参数**:设置DWR的一些配置参数,...

    DWR用的jar包

    2. **配置DWR**:在Web应用的web.xml文件中配置DWR的Servlet,定义允许访问的类和方法。 3. **创建Java接口**:在服务器端定义要暴露给JavaScript调用的Java接口和类。 4. **生成JavaScript文件**:DWR会自动生成...

    Spring与DWR集成

    例如,限制可访问的服务器端方法,启用DWR的安全特性,以及考虑缓存策略以减少不必要的服务器通信。 总结,Spring与DWR的集成使得开发高效、实时的Web应用变得更加便捷。通过这种方式,开发者可以充分利用Spring的...

    dwr中文文档pdf格式

    1. **引入DWR库**:在Web应用中添加DWR的JAR文件,并在Web.xml中配置DWR的Servlet。 2. **创建Java接口**:定义要在客户端使用的Java接口,这些接口将被DWR暴露给JavaScript。 3. **生成配置文件**:使用DWR生成器...

    dwr3.0搭建与讲解

    DWR提供了一些安全机制,如跨域访问控制、JavaScript混淆等,以防止未经授权的访问。同时,DWR还支持批处理、缓存策略等优化手段,以提升应用性能。 ### 8. DWR与其他技术结合 DWR可以与Spring、Hibernate等其他...

    JSF中配置dwr

    4. **前端JavaScript调用**:现在,你可以在JavaScript中使用DWR的API来调用后端方法。例如: ```javascript var myService = new MyService(); myService.someMethod(param1, function(response) { // 处理返回...

    DWR中文文档

    2. **DWR架构**:DWR由三个主要部分组成:`Engine`、`Servlet`和`JavaScript API`。`Engine`处理所有的远程调用,`Servlet`是部署在服务器上的组件,负责处理HTTP请求,`JavaScript API`则提供了在客户端调用服务器...

Global site tag (gtag.js) - Google Analytics