ajax調用java
❶ 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方法 了。這兩個是關鍵