JavaScript访问远程Servlet的跨域问题
2012-11-20 00:00
337 查看
1. 服务端:
ServiceServlet.java
web.xml
2. 客户端:
client.jsp
转自http://www.cnblogs.com/lorence/archive/2012/09/11/2680969.html
ServiceServlet.java
package webservice.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServiceServlet extends HttpServlet { private static final long serialVersionUID = -1671938285703384549L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // JSON字符串 String json = "{'key1':'val1','key2':'val2','key3':'val3'}"; String result = request.getParameter("callback") + "(" + json + ")"; response.setContentType("text/javascript"); response.getWriter().print(result); } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Webservice Servlet</display-name> <servlet> <servlet-name>ServiceServlet</servlet-name> <servlet-class>webservice.servlet.ServiceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServiceServlet</servlet-name> <url-pattern>/ServiceServlet</url-pattern> </servlet-mapping> </web-app>
2. 客户端:
client.jsp
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Ajax跨域</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script> </head> <script type="text/javascript"> var url = "http://localhost:8080/ws/ServiceServlet"; $.ajax({ type: "post", // 或者 "get" url: url, dataType: "jsonp", jsonp: "callback", success: function(json) { alert(json.key1); } }); $.get(url, {"callback": "?"}, function(json) { alert(json.key2); },"jsonp"); $.post(url, {"callback": "?"}, function(json) { alert(json.key3); },"jsonp"); </script> <body> </body> </html>
转自http://www.cnblogs.com/lorence/archive/2012/09/11/2680969.html
相关文章推荐
- JavaScript访问远程Servlet的跨域问题
- JavaScript(XMLHttpRequest)跨域访问解决办法及安全性问题
- 解决JavaScript跨域访问的问题 - JSP代理
- WEB_EasyUI中comboBox远程绑定json数据引起的访问跨域问题
- JavaScript 跨域访问的问题和解决过程
- JavaScript 跨域访问的问题和解决过程
- 用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办
- 【项目中遇到的问题】JavaScript 中的跨域访问方法(转)
- 本地web访问远程服务器后端引发的跨域问题
- JavaScript 跨域访问的问题和解决过程
- JavaScript的跨域访问问题
- 远程访问 iconfont.woff 的跨域问题 Access-Control-Allow-Origin
- JavaScript 跨域访问的问题和解决过程 【转载】
- JavaScript 跨域访问的问题和解决过程
- JavaScript 跨域访问的问题和解决过程
- JavaScript跨域访问CORS问题
- Ajax访问Servlet的跨域请求问题—Access-Control-Allow-Origin
- JavaScript 跨域访问的问题和解决过程
- JavaScript 跨域访问的问题和解决过程
- JavaScript跨域访问CORS问题