接上例:http://blog.csdn.net/kunshan_shenbin/archive/2008/11/25/3369735.aspx
这次看看如何访问Web环境。譬如操作Session。
如下图所示建立工程:
代码如下:
PutSession.java
- package lee;
- import javax.servlet.http.HttpServletRequest;
- import java.io.Serializable;
- public class PutSession implements Serializable {
- private static final long serialVersionUID = 2809497288449397560L;
- public boolean putSession(String name , HttpServletRequest request)
- {
- request.getSession(true).setAttribute("user" , name);
- return true;
- }
- }
web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <servlet-name>jsonServlet</servlet-name>
- <servlet-class>
- com.metaparadigm.jsonrpc.JSONRPCServlet
- </servlet-class>
- </servlet>
- <!-- 此处的url-pattern可以随便更改,只是JavaScript代码中JSONRpcClient以此地址创建 -->
- <servlet-mapping>
- <servlet-name>jsonServlet</servlet-name>
- <url-pattern>/myjson</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>put.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
get.jsp
- <%@page contentType="text/html;charset=utf-8"%>
- session的user属性值为:${sessionScope.user}
jsonrpc.js与前例一致。
put.js
- var jsonrpc;
- function onLoad()
- {
- jsonrpc = new JSONRpcClient("myjson");
- }
- function putSession()
- {
- var name = document.getElementById("name").value;
- jsonrpc.put.putSession(cb, name);
- }
- function cb(result, exception)
- {
- if(result == null && exception != null)
- {
- alert(exception.message);
- }
- if (result != null && exception == null)
- {
- if (result)
- {
- alert("您已经成功设置了Session属性");
- }
- }
- }
put.jsp
- <%@page contentType="text/html;charset=utf-8"%>
- <jsp:useBean id="JSONRPCBridge" scope="session" class="com.metaparadigm.jsonrpc.JSONRPCBridge" />
- <jsp:useBean id="put" scope="session" class="lee.PutSession" />
- <% JSONRPCBridge.registerObject("put", put); %>
- <html>
- <head>
- <script type="text/javascript" src="jsonrpc.js"></script>
- <script type="text/javascript" src="put.js"></script>
- <title>JSON-RPC-Java的Ajax</title>
- </head>
- <body bgcolor="#ffffff" onLoad="onLoad()">
- <h2>JSON-RPC-Java的Ajax</h2>
- <p>
- <strong>请输入用户名</strong>
- <input type="text" id="name" size="30" value="" />
- <P>
- <input type="button" value="设置Session" onclick="putSession()" />
- </p>
- </body>
- </html>