當前位置:首頁 » 編程語言 » ajax調用java

ajax調用java

發布時間: 2022-03-01 05:59:56

❶ ajax引用java文件url怎麼填

url在訪問的時候,都要經過web.xml配置的Filter過濾器。 像我的是Struts配置的是action. strutsorg.apache.struts2.dispatcher.FilterDispatcherstruts*.action具體看你的配置,可以任意的哦。

❷ js怎麼調用JAVA方法

用ajax的方法.

首先將要調用的類名和方法名作為參數傳給某個servlet.這一步的方法有許多種,用框架,或者直接用xmlHttpRequest對象.

另外,要調用的類名和類的完整包路徑最好寫在配置文件里
這里假設類名為Hello,方法名為sayHello,並且sayHello方法不帶參數,類路徑為com.demo.Hello

配置文件AjaxConfig.properties
Hello = com.demo.Hello

於是傳入的參數為 class=Hello&method=sayHello
在servlet中作如下處理:
String className=request.getParameter("classname");
String methodName=request.getParameter("method");
String classPath=null;
.
讀取配置文件,取出className所對應的值放入classPath變數中(這一步方法有很多種,怎麼讀配置文件,可以網上找資料,很多的,我就不細寫了)
.
Class c=Class.forName(classPath);//載入你所指定的類
Class param[]=new Class[0];//方法的參數為0個
Method m=null;
String returnValue=null;//返回值
try {
m = c.getMethod("sayHello",param);//獲取你所指定的類中的指定方法
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
returnValue=(String)m.invoke(c.newInstance(), new Object[0]);//調用你所指定的方法
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最後,將returnValue的值返回給客戶端即可
類Hello.java

public class Hello
{
public String sayHello()
{
return "hello";
}
}

不明白的加67919823,我們一起討論呀

❸ JSP按鈕用Ajax怎麼調用Java方法

ajax是調用http請求的,不能直接調用java類中的某個方法,你需要先把這個方法通過servlet或struts發布成http服務,然後再用ajax來調用

❹ ajax 調用Java類,傳參數 高分求助!

ajax有很多種,最近在做jquery的項目,這里我舉一個jquery中的AJAX例子

JSP中:

$(document).ready(function(){
$.post("../login?ect="+Math.random(),{data:"add"},
function(data,status){
alert("getdatafromservlet");
});
});

Servlet中:

在doPost()中:

寫上

response.setContentType("application/json;charset=UTF-8");
java.io.PrintWriterout=response.getWriter();
Stringetc=request.getParameter("data")//獲取AJAX端的數據
if(etc.equals("add"))//判斷數據是否為add
{
Stringstr="{"data":20}";//json格式
out.write(str);//返回給AJAX
}

❺ js 怎麼調用JAVA類的方法

<script language="javascript">
function check(action)
{
form1.action=action;
form1.submit();
if (form1.username.value == "")
{
alert("用戶名不能為空,請輸入用戶名!");
window.location.href="xxx.jsp";
}
}
</script>

<input type="button" name="Button" value="檢測用戶" onClick="check('servlet/checkuser')">

❻ 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;

❼ jquery ajax怎麼調用java寫的webservice.求高手

webservice就相當於DAO一樣啊,你不寫一個service把他封裝起來,然後再寫到filter里邊,用Struts的話就是Action里,然後再用ajax訪問Action就OK了啊,或者servlet里邊,然後他就返回了啊,webservice返回的是一個XML,json等的常見的東西,然後他通過Axis2提供的jar包進行了封裝,轉換成了一些java里邊類似實體對象的東西,然後就像調用對象方法一樣獲取

❽ 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

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

❿ 怎麼用js調用java的介面

http://blog.csdn.net/feifei454498130/article/details/6524183 http://blog.csdn.net/kingsollyu/article/details/6656865
參考這兩個 webSettings.setJavaScriptEnabled(true); 是啟用js,mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); 是定義個對象demo,js中調用demo對象就可以調用剛剛定義的java方法 了。這兩個是關鍵

熱點內容
大主宰腳本 發布:2025-01-11 14:40:56 瀏覽:826
ftp保存密碼是灰色 發布:2025-01-11 14:00:07 瀏覽:261
壓縮文件最好 發布:2025-01-11 13:59:58 瀏覽:649
有幾家java培訓機構 發布:2025-01-11 13:55:05 瀏覽:476
搭建個人伺服器缺點 發布:2025-01-11 13:54:13 瀏覽:376
怎麼用安卓的手機登錄ios第五人格 發布:2025-01-11 13:44:11 瀏覽:769
登陸Ftp重輸密碼 發布:2025-01-11 13:40:12 瀏覽:335
解壓神器有氧射擊 發布:2025-01-11 13:33:04 瀏覽:854
百度雲的好友在哪個文件夾 發布:2025-01-11 13:32:13 瀏覽:750
2級c語言試題 發布:2025-01-11 13:09:21 瀏覽:941