「前端怎么调用java服务」前端怎么调用java后端程序

博主:adminadmin 2022-11-24 23:23:08 59

今天给各位分享前端怎么调用java服务的知识,其中也会对前端怎么调用java后端程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

jsp 如何调用java类 初学

不知道你用dwr试过没有,一般在前端调用java类都是使用dwr因为它是专为,从页面调用后台的java类产生的。以HelloWorld为例假设后台有一个实体类HelloWorld

public class HelloWorld {

public String hello(String name){

return "helloworld"+"name="+name+"now time="+new Date().toLocaleString();

}

}

1.引入dwr的jar包

2.将dwr.xml文件copy到web-INF目录下

配置:

dwr

allow

create javascript="HelloWorld" creator="new"

param name="class" value="service.HelloWorld"/param

/create

/allow

/dwr

3.配置web.xml

加入:!-- dwr --

servlet

servlet-namedwr-invoker/servlet-name

servlet-classorg.directwebremoting.servlet.DwrServlet/servlet-class

!-- This should NEVER be present in live --

init-param

param-namedebug/param-name

param-valuetrue/param-value

/init-param

load-on-startup1/load-on-startup

/servlet

servlet-mapping

servlet-namedwr-invoker/servlet-name

url-pattern/dwr/*/url-pattern

/servlet-mapping

4.引入dwr的js,如:

script type='text/javascript' src='dwr/interface/HelloWorld.js'/script

script type='text/javascript' src='dwr/engine.js'/script

script type='text/javascript' src='dwr/util.js'/script

这一步你可以参考dwr的官方文档中的实例,因为这里引入的js,包括目录你都找不到的,所以以往的直接将js文件拖拉到要使用的页面就行不通了,

分别介绍一下引入的三个js文件:

第一个:后缀为HelloWorld.js的估计你也能猜出来了,其实在后台你就是有一个类名就叫HelloWorld的,现在应该明白为什么可以调用后台java类了吧(也就是说有几个java类要调用就有几个这样的引入文件,只需要将HelloWorld名字换为你的另一个要引入的类)。

第二个:固定的写法

第三个:不是必须的,可加可不加,不过它是为了是你操作更方便,一般都会加上。

5.下面就可以在页面调用了:

script type='text/javascript' src='dwr/interface/HelloWorld.js'/script

script type='text/javascript' src='dwr/interface/DepartmentsService.js'/script

script type='text/javascript' src='dwr/engine.js'/script

script type='text/javascript' src='dwr/util.js'/script

script type="text/javascript"

function hello(){

var name = document.getElementById("name").value;

HelloWorld.hello(name,callback);//直接使用引入的名称调用后台类中的hello()方法

}

//回调函数用来获取从后台传递来的参数,或者数据

function callback(date){

alert(date);

}

/script

6.完成

希望能下个dwr的官方jar包里面有好多例子,讲的都很详细的

请问前端用jquery如何调用 java写的webservice接口

用jquery ajax,如果不行,就调试一下看哪里出错。在chrome下右键点击审查元素,如果出现

‘Failed to load resource: the server responded with a status of 500’的提示,那就是webservice方法有问题。或者在浏览器上输入地址加webservice测试一下webservice是否可用,如果可用那就是js语法的问题了。

js中可以调用java代码吗

js不能直接调用java代码。

可以通过页面提交后台的方式,间接调用后台的服务java代码。

也可以通过ajax的方式,调用后台的服务java代码。

两种方式稍有差别,不过都是前后台的通信交互。

Java前端怎么调用后端

用表单提交就可以了,提交的路径转到后端的controller层或者servlet上都可以

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 plaincopy

servlet  

    servlet-nameoaLoginLimitedServlet/servlet-name  

    servlet-classcom.xxxx.xxxx.servlet.oaLoginLimitedServlet/servlet-class  

/servlet  

servlet-mapping  

    servlet-nameoaLoginLimitedServlet/servlet-name  

    url-pattern/oaLoginLimitedServlet/url-pattern  

/servlet-mapping  

重启相关服务。

通过ajax就可以调用了。

[html] view plaincopy

 var msg = $.ajax({  

     type: "post",  

     url: ....+'/oaLoginLimitedServlet?userid='+ $('#act').val(),  

     async:false  

 }).responseText;

前端怎么调用java服务的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于前端怎么调用java后端程序、前端怎么调用java服务的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。