當前位置:首頁 » 編程語言 » javaajax

javaajax

發布時間: 2022-01-09 08:09:25

java的ajax方法

先痛過jQuery 把所有要取的值獲取到,這個應該懂吧。ajax 傳值格式如下
$. ajax ({
type:提交方式
url :提交路勁,一般是對應的servlet
data:數據,字典形式(也就是你通過jq獲取到的值,自己取健名)
dataType:『json『格式。
成功回調函數
錯誤回調函數。

})

⑵ java怎麼處理ajax

ajax是一種用來改善用戶體驗的技術,其實質是利用瀏覽器內置的一個特殊的對象
(XMLHttpRequest對象,一般稱之為ajax對象)非同步地(當ajax對象發請求時,瀏覽
器不會銷毀當前頁面,用戶任然可以對當前頁面做其他操作)向伺服器發送請求,
伺服器送回部分數據(並不是一個完整的頁面),利用這些數據更新當前頁面。整
個過程,頁面無刷新,不打斷用戶的操作

編程步驟:
step1,獲得ajax對象
比如:
var xhr=getXhr();
step2,發請求:
方式一:get請求
xhr.open('get','check_username.do?username=zs',true);
請求參數、請求資源路徑、是否非同步
注意:
a,get請求必須將請求參數添加到請求資源路徑的後面。
b,true表示非同步請求、false表示同步請求。
非同步請求:發請求時,瀏覽器不會銷毀當前頁面,用戶可以對當前頁面做
其他操作。
同步請求:發送請求時,瀏覽器不會銷毀當前頁面,用戶不可以對當前頁面
做其他操作。
xhr.onreadystatechange=f1;
xhr.send(null);
方式二:post請求
xhr.open('post','','')
step3,編寫伺服器端的處理程序,一般伺服器只需要返回部分的數據。
step4,編寫事件處理函數。
function f1(){
if(xhr.readyState==4){
var txt=xhr.responseText;
使用txt更新當前頁面...
}
}

java伺服器端處理ajax發送的請求,和處理其他請求是一樣的,只是在客戶端頁面表現的不同,比如:執行頁面發送刪除請求,伺服器端在執行刪除後,頁面是需要刷新的。

ajax最經典的用法是驗證碼,注冊頁面如果因為驗證碼輸入錯誤要刷新,之前的信息重填,估計用戶會崩潰,採用ajax非同步發送請求,就不會影響之前填寫的信息

⑶ 如何在Java項目中使用Ajax

上面都太麻煩了只要寫一個函數就可以
<body>
<SCRIPT LANGUAGE="JavaScript">
function check(){
var stuId = document.regForm.stuId.value;

var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.open("GET", "check.do?stuId="+stuId, true);
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4) {
checkResult.innerHTML = xmlHttp.responseText;
}
else{
checkResult.innerHTML = "正在檢測...";
}
}
xmlHttp.send();
}
</SCRIPT>
<form name="regForm">
請您輸入學生學號:<input type="text" name="stuId" onblur="check()">
<div id="checkResult"></div><BR>
請您輸入學生姓名:<input type="text" name="stuName"><BR>
<input type="button" value="提交按鈕">
</form>
當stuId輸入框失去焦點時執行javascript函數check()通過xmlHttp.open("GET", "check.do?stuId="+stuId, true);以get方式發送給check.do的servlet在servlet里用request獲取傳過去的stuId參數接下去就和一般的一樣連資料庫根據id,返回的結果checkResult.innerHTML = xmlHttp.responseText;會顯示在div上,很簡單

⑷ 如何使用ajax調用java類

ajax調用java後台的方法,其實是通過url鏈接來訪問,示例如下:package com.xxxx.xxxx.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class oaLoginLimitedServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static Connection conn=null;
private static PreparedStatement pstmt=null;

public oaLoginLimitedServlet() {
super();
}

public void destroy() {
super.destroy();
}

public static String getCount(String userid)
{
String v_sql=".....";
String v_count="";

try {
pstmt = conn.prepareStatement(v_sql);
pstmt.setString(1, userid);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
v_count = rs.getString(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return v_count;
}

public static Connection getConnection(){
Context ctx = null;
try {
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jndiname");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String v_userid=request.getParameter("userid");
System.out.println(v_userid);
getConnection();
String v_count=getCount(v_userid);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(v_count);
response.flushBuffer();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

}

如果要前端能夠訪問到該servlet,需要將該servlet注冊到 web.xml文件中。需要在web.xml文件中添加以下內容
[html] view plain
<servlet>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<servlet-class>com.xxxx.xxxx.servlet.oaLoginLimitedServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<url-pattern>/oaLoginLimitedServlet</url-pattern>
</servlet-mapping>

重啟相關服務。
通過ajax就可以調用了。

[html] view plain
var msg = $.ajax({
type: "post",
url: ....+'/oaLoginLimitedServlet?userid='+ $('#act').val(),
async:false
}).responseText;
https://..com/question/2201763852265627548.html

⑸ Java/Ajax:使用Ajax實現登錄功能,可以實現跳轉嗎

Ajax是一個非同步請求,應該不能直接跳轉。
你可以返回一個true給前台,再請求新的資源。

⑹ JAVA後端的ajax的js方法

簡單例子,Action自己改動HTML: <html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" language="javaScript" charset="utf-8">
var xmlRequest = false;
function getXmlRequest(){
try{
xmlRequest = new XMLHttpRequest();
}catch(e){
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}

function loading(){
getXmlRequest();
if(!xmlRequest){
return ;
}
var url = "test.do";
xmlRequest.onreadystatechange = getResult;
xmlRequest.open("GET", url, true);
xmlRequest.send(null);
}
function getResult(){

if(xmlRequest.readyState == 4){
if(xmlRequest.status == 200){
var result = document.getElementById("result");
var response = xmlRequest.responseText;
result.innerHTML = response;
}
}
}
</script>
</head>
<body onload="loading()">
TODO write content
<div id="result">

</div>
</body>
</html> Struts Action: package com.myapp.struts;import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
public class TestAction extends org.apache.struts.action.Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//Action 自己改動
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter();
try {
//
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Struts at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");

} finally {
out.close();
} return null;
}
}

⑺ 如何用java模擬ajax數據發送請求

importorg.apache.commons.httpclient.*;
importorg.apache.commons.httpclient.methods.*;
importorg.apache.commons.httpclient.params.HttpMethodParams;

importjava.io.*;

publicclassHttpClientTutorial{

PRivatestaticStringurl="http://10.129.39.149:8090/Ajax/loginMgt/login.action";

publicstaticvoidmethod(HttpClientclient,Stringurl,Stringbody){
PostMethodmethod=newPostMethod(url);
//"count":10,"ignoreCase":"false","paras":["a%"],"queryId":"getMenu"
NameValuePair[]postData=newNameValuePair[]{};
//postData[0]=newNameValuePair("count",10);
method.setRequestBody(body);//addParameters(postData);


//
/*method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
(3,false));*/

try{
//Executethemethod.
intstatusCode=client.executeMethod(method);

if(statusCode!=HttpStatus.SC_OK){
System.err.println("Methodfailed:"+method.getStatusLine());
}

//Readtheresponsebody.
byte[]responseBody=method.getResponseBody();

//Dealwiththeresponse.
//Usecaution:
System.out.println(newString(responseBody,"utf-8"));
}catch(HttpExceptione){
System.err.println("Fatalprotocolviolation:"+e.getMessage());
e.printStackTrace();
}catch(IOExceptione){
System.err.println("Fataltransporterror:"+e.getMessage());
e.printStackTrace();
}finally{
//Releasetheconnection.
method.releaseConnection();
}
}

publicstaticvoidmain(String[]args){
//CreateaninstanceofHttpClient.
HttpClientclient=newHttpClient();

Stringbody="[{"userId":1,"passWord":1}]";
//Createamethodinstance.
method(client,url,body);

url="http://10.129.39.149:8090/ajax/getInitValueArr.action";

body="[{"count":10,"ignoreCase":"false","paras":["a%"],"queryId":"getMenu"}]";
method(client,url,body);
}
}

⑻ ajax和java

ajax是一種用來改善用戶體驗的技術,其實質是利用瀏覽器內置的一個特殊的對象
(XMLHttpRequest對象,一般稱之為ajax對象)非同步地(當ajax對象發請求時,瀏覽
器不會銷毀當前頁面,用戶任然可以對當前頁面做其他操作)向伺服器發送請求,
伺服器送回部分數據(並不是一個完整的頁面),利用這些數據更新當前頁面。整
個過程,頁面無刷新,不打斷用戶的操作

編程步驟:
step1,獲得ajax對象
比如:
var xhr=getXhr();
step2,發請求:
方式一:get請求
xhr.open('get','check_username.do?username=zs',true);
請求參數、請求資源路徑、是否非同步
注意:
a,get請求必須將請求參數添加到請求資源路徑的後面。
b,true表示非同步請求、false表示同步請求。
非同步請求:發請求時,瀏覽器不會銷毀當前頁面,用戶可以對當前頁面做
其他操作。
同步請求:發送請求時,瀏覽器不會銷毀當前頁面,用戶不可以對當前頁面
做其他操作。
xhr.onreadystatechange=f1;
xhr.send(null);
方式二:post請求
xhr.open('post','','')
step3,編寫伺服器端的處理程序,一般伺服器只需要返回部分的數據。
step4,編寫事件處理函數。
function f1(){
if(xhr.readyState==4){
var txt=xhr.responseText;
使用txt更新當前頁面...
}
}

java伺服器端處理ajax發送的請求,和處理其他請求是一樣的,只是在客戶端頁面表現的不同,比如:執行頁面發送刪除請求,伺服器端在執行刪除後,頁面是需要刷新的。
ajax最經典的用法是驗證碼,注冊頁面如果因為驗證碼輸入錯誤要刷新,之前的信息重填,估計用戶會崩潰,採用ajax非同步發送請求,就不會影響之前填寫的信息

⑼ html ajax java 問題。 我想讓html 通過ajax與java通信,是下面這種方法嗎

ajax調用java後台的方法,其實是通過url鏈接來訪問,示例如下:
package com.xxxx.xxxx.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class oaLoginLimitedServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static Connection conn=null;
private static PreparedStatement pstmt=null;

public oaLoginLimitedServlet() {
super();
}

public void destroy() {
super.destroy();
}

public static String getCount(String userid)
{
String v_sql=".....";
String v_count="";

try {
pstmt = conn.prepareStatement(v_sql);
pstmt.setString(1, userid);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
v_count = rs.getString(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return v_count;
}

public static Connection getConnection(){
Context ctx = null;
try {
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jndiname");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String v_userid=request.getParameter("userid");
System.out.println(v_userid);
getConnection();
String v_count=getCount(v_userid);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(v_count);
response.flushBuffer();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

}

如果要前端能夠訪問到該servlet,需要將該servlet注冊到 web.xml文件中。需要在web.xml文件中添加以下內容
[html] view plain
<servlet>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<servlet-class>com.xxxx.xxxx.servlet.oaLoginLimitedServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<url-pattern>/oaLoginLimitedServlet</url-pattern>
</servlet-mapping>

重啟相關服務。
通過ajax就可以調用了。

[html] view plain
var msg = $.ajax({
type: "post",
url: ....+'/oaLoginLimitedServlet?userid='+ $('#act').val(),
async:false
}).responseText;

⑽ Java/Ajax:關於Ajax實現登錄功能

不行,由於是ajax發起的請求,所以在執行你的Action的時候也是在本次請求的處理范圍內。
如果這樣跳轉,那ajax最後獲得的結果就是info.jsp執行的結果。
所以必須在ajax的onreadystatechange事件中分析伺服器返回的結果並使用window.location跳轉鏈接

熱點內容
qq改密碼怎麼改手機 發布:2024-04-19 11:39:17 瀏覽:968
電腦上如何看wifi密碼 發布:2024-04-19 11:34:14 瀏覽:415
java性能測試腳本 發布:2024-04-19 11:25:24 瀏覽:980
存儲成本與性能 發布:2024-04-19 11:16:18 瀏覽:168
linux根文件系統製作 發布:2024-04-19 11:16:12 瀏覽:746
光遇夏日活動什麼時候安卓上線 發布:2024-04-19 11:08:15 瀏覽:854
Java開羅 發布:2024-04-19 10:50:55 瀏覽:959
linux音頻驅動 發布:2024-04-19 10:50:04 瀏覽:715
資料庫的表怎麼看 發布:2024-04-19 10:43:52 瀏覽:563
空調壓縮機不響 發布:2024-04-19 10:42:22 瀏覽:52