JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值,问题很困扰。
因为之前不太了解框架和技术,之前用过ajax、jquery,请求成功,但是返回值取不出来,因为跨域请求安全问题。准备用servlet,但是servlet需要在服务端做修改,显然不适合,我是接口调用。请问大家有什么好的方法,实现JSP页面按钮提交求情获取返回值,最好能给一段代码示例。
Index.jsp
<%@ page language="java" import="java.util.*" %>
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
<%@ page import="WEB_API.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
WEB_API wa=new WEB_API();
String res=wa.sendPost("17761280053", "验证码是123");
System.out.println(res);
%>
<br> function dianji(){<br> $.post("<a href="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=">http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=</a>", function(data){<br> alert("Data Loaded: " + data);<br> });<br> }<br><br>
中文显示示例
WEB_API.java
package WEB_API;
import java.awt.EventQueue;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON.*;
public class WEB_API{
private static Connection con = null;
public static void main(String[] args) {
}
public WEB_API(){
}
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?";
String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=";
try {
URL realUrl = new URL(strUrl);
URLConnection conn = realUrl.openConnection();
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setDoOutput(true);
conn.setDoInput(true);
out = new PrintWriter(conn.getOutputStream());
out.print(strparam);
out.flush();
in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送POST请求出现异常!" + e);
e.printStackTrace();
}
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
}