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

ajaxjava

發布時間: 2022-01-23 04:11:51

1. ajax調用java後台的一個方法

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

packagecom.xxxx.xxxx.servlet;

importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;

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

{
=1L;
privatestaticConnectionconn=null;
=null;

publicoaLoginLimitedServlet(){
super();
}

publicvoiddestroy(){
super.destroy();
}


publicstaticStringgetCount(Stringuserid)
{
Stringv_sql=".....";
Stringv_count="";

try{
pstmt=conn.prepareStatement(v_sql);
pstmt.setString(1,userid);
ResultSetrs=pstmt.executeQuery();
while(rs.next()){
v_count=rs.getString(1);
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
pstmt.close();
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
returnv_count;
}

(){
Contextctx=null;
try{
ctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookup("jndiname");
conn=ds.getConnection();
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringv_userid=request.getParameter("userid");
System.out.println(v_userid);
getConnection();
Stringv_count=getCount(v_userid);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(v_count);
response.flushBuffer();
}

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}


}

如果要前端能夠訪問到該servlet,需要將該servlet注冊到web.xml文件中。需要在web.xml文件中添加以下內容
[html]viewplain
<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]viewplain
varmsg=$.ajax({
type:"post",
url:....+'/oaLoginLimitedServlet?userid='+$('#act').val(),
async:false
}).responseText;

2. 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非同步發送請求,就不會影響之前填寫的信息

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

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

4. 如何使用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

5. ajax要調用後台java類裡面的一個方法的問題

可以的,下面給你個我寫的例子,驗證注冊時用戶名的,希望對你能有所幫助
var http_request=false;
function sendRequest(method,url,content,processResponse)
{
http_request=false;
if(window.XMLHttpRequest) //mozilla
{
http_request=new XMLHttpRequest();
}else if(window.ActiveXObject) //IE
{
try
{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e)
{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(!http_request)
{
alert("非同步通信對象創建失敗!");
return;
}

if(method.toLowerCase()=="get")
{
http_request.open(method,url,true);
http_request.onreadystatechange=processResponse;
http_request.send(content);
return;
}
if(method.toLowerCase()=="post")
{
http_request.open(method,url,true);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http_request.onreadystatechange=processResponse;
http_request.send(content);
return;
}
}
function getResult()
{
if(window.http_request.readyState==4)
{
if(window.http_request.status==200)
{
//這是返回的結果
var rText=window.http_request.responseText;
//處理結果
if(rText=="true")
{
alert("用戶名稱已經存在");
}else{
alert("用戶名稱可以使用");
}
}
}
}
//調用
sendRequest("POST","user.do","userName="+name,getResult);
看不懂或者有問題了可以網路Hi

6. 如何在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上,很簡單

7. JAVA的ajax方法

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

})

8. 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;

9. js 通過ajax 往java中傳值

breakline: common, fromDate: $("#datepicker").val()
datepicker是什麼,應該也是變數吧,類似這樣取值試試看啊

10. java怎麼接收ajax的請求

你用servlet的話 覆寫servlet的 get 方法 ,因為你ajax用的是get

然後你的t=......是你傳來的參數
用request.getParameter("t")來獲取

剩下的返回用response.write 就行了,
看你前台要什麼類型的,如果要json你就後台轉好json發給他

熱點內容
微信如何評論圖片安卓 發布:2024-11-14 11:56:34 瀏覽:848
游戲遍地腳本 發布:2024-11-14 11:56:32 瀏覽:759
怎樣編譯一個背單詞系統 發布:2024-11-14 11:54:47 瀏覽:176
傳奇這個配置怎麼樣 發布:2024-11-14 11:48:25 瀏覽:376
配置橫向防火牆是什麼意思 發布:2024-11-14 11:42:34 瀏覽:731
手機緩存文件能打開嗎 發布:2024-11-14 11:41:00 瀏覽:492
存儲系統集成 發布:2024-11-14 11:14:54 瀏覽:584
雲伺服器搭建方法圖解 發布:2024-11-14 11:14:53 瀏覽:309
挑戰伺服器吃雞是什麼 發布:2024-11-14 10:59:07 瀏覽:932
自繳社保演算法 發布:2024-11-14 10:43:53 瀏覽:554