java代码怎么实现交互,JAVA交互

在Android上怎样实现JAVA和JS交互

Android中java与js交互是通过webView来交互的。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、杨浦网络推广、微信平台小程序开发、杨浦网络营销、杨浦企业策划、杨浦品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供杨浦建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:

第一种方法的步骤:

1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);

2.调用WebView的loadUrl()方法,设置WevView要显示的网页:

互联网用:webView.loadUrl("");

本地文件用:webView.loadUrl(""); 本地文件存放在:assets 文件中

3.调用Activity的setContentView( )方法来显示网页视图

4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面

5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。

uses-permission android:name="android.permission.INTERNET" /

第二种方法的步骤:

1、在布局文件中声明WebView

2、在Activity中实例化WebView

3、调用WebView的loadUrl( )方法,设置WevView要显示的网页

4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置 WebView视图

5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面

6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。

uses-permission android:name="android.permission.INTERNET"/

Java怎样与网页交互

java是属于后台代码,作用是获取前端的请求并处理逻辑和数据库处理。一般来说与前端网页数据交互有两用方式,一,ajax请求数据接口,然后前端根据返回值处理数据。二,使用request方式将返回值直接带给跳转页面。建议使用第一种。

spring 中如何实现jsp与java的交互

spring中利用mvc框架就可以实现jsp和java交互了。

以下用spring mvc输出hello world为例来说明:

一、项目依赖的jar包:

1.Spring框架依赖的jar包:

日志:commons-logging-1.1.3.jar;

JSTL支持:jakarta-taglibs-standard-1.1.2中的jstl.jar和standard.jar;

2.Spring的jar包:

spring-framework-3.2.5.RELEASE/libs中的jar包(这里为了方便我直接把全部都复制过去了);

把以上的jar包全部复制到项目的WebContent/WEB-INF/lib目录中。

二、在/WEB-INF中添加web.xml文件,文件内容如下:

?xml version="1.0" encoding="UTF-8"?

web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation=" " id="WebApp_ID" version="3.0"

display-nameSpringMVCLesson/display-name

   

servlet

   servlet-nameSpringMVCLesson/servlet-name

   servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class

   init-param

       param-namecontextConfigLocation/param-name

       param-valueclasspath:springservlet-config.xml/param-value

   /init-param

   load-on-startup1/load-on-startup!-- load-on-startup必须放在最后 --

/servlet

!-- Spring MVC配置文件结束 --

servlet-mapping

   servlet-nameSpringMVCLesson/servlet-name

   url-pattern//url-pattern

/servlet-mapping

/web-app

三、springservlet-config.xml文件配置:

在项目中新建一个resources的Source Folder文件夹,并添加springservlet-config.xml文件。

?xml version="1.0" encoding="UTF-8"?

beans xmlns=""

xmlns:xsi=""

xmlns:p=""

xmlns:context=""

xmlns:util=""

xmlns:mvc=""

xsi:schemaLocation="

"

!-- 默认的注解映射的支持 --  

mvc:annotation-driven/

 

!-- 如果当前请求为“/”时,则转发到“/helloworld/index” --

mvc:view-controller path="/" view-name="forward:/helloworld/index"/

!-- 静态资源映射 --

mvc:resources mapping="/js/**" location="/WEB-INF/js/" /

mvc:resources mapping="/css/**" location="/WEB-INF/css/" /

mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /

mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /

mvc:resources mapping="images/**" location="/WEB-INF/images/" /

!-- 当上面要访问的静态资源不包括在上面的配置中时,则根据此配置来访问 --

mvc:default-servlet-handler/

!-- 开启controller注解支持 --

!-- use-default-filters="false" 只扫描指定的注解 --

context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"

   context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/

/context:component-scan

 

!-- 视图解析器 --

bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"

  property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/

  property name="contentType" value="text/html"/        

  property name="prefix" value="/WEB-INF/views/"/

  property name="suffix" value=".jsp"/

/bean

/beans

mvc:annotation-driven/ 开启注解映射支持,它是为了简化配置的缩写形式,它相当于以下2个配置:

bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/

bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/

由于我们在web.xml文件里面配置的是拦截所有的请求到该servlet,所以我们在这里要对静态资源文件映射作一下配置,否则请求这些资源文件会返回404:

!-- 静态资源映射 --

mvc:resources mapping="/js/**" location="/WEB-INF/js/" /

mvc:resources mapping="/css/**" location="/WEB-INF/css/" /

mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /

mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /

mvc:resources mapping="images/**" location="/WEB-INF/images/" /

!-- 当上面要访问的静态资源不包括在上面的配置中时,则根据此配置来访问 --

mvc:default-servlet-handler/

开启Controller注解支持,并配置只扫描指定包下面的Controller:

context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"

context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/

/context:component-scan

配置视图解析器,并指定视图所在的文件夹:

bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"

property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/

property name="contentType" value="text/html"/        

property name="prefix" value="/WEB-INF/views/"/

property name="suffix" value=".jsp"/

/bean

添加HelloWorldController,在项目中新建一个web的Source Folder文件夹,并在文件夹下面添加com.demo.web.controllers包,在包中添加一个HelloWorldController类,类中内容如下:

package com.demo.web.controllers;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

@Controller

@RequestMapping(value = "/helloworld")

public class HelloWorldController {

@RequestMapping(value="/index", method = {RequestMethod.GET})

public ModelAndView index(){

   

   ModelAndView modelAndView = new ModelAndView();  

   modelAndView.addObject("message", "Hello World!");  

   modelAndView.setViewName("index");  

   return modelAndView;

}

}

其中@Controller 注解把该class指定为controller,controller 上的@RequestMapping 注解的 value值指定该controller所映射的请求。

方法上的@RequestMapping 注解指定该方法为一个action,value 值指定该action所映射的请求,method 中的RequestMethod.GET指定该action只接受get请求。

ModelAndView 中的setViewName指定了该action所对应的视图名称,解析视图时会在springservlet-config.xml文件指定的视图文件夹中寻找对应的视图。

添加视图,在项目/WEB-INF文件夹下新建一个views文件夹,并在views中添加index.jsp视图,视图内容如下:

%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

html

head

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

titleInsert title here/title

/head

body

${message}

/body

/html

运行项目输出结果:

怎么让java两个类之间进行交互

HI我..

通过构造方法就可以把那个引用传过去了。。

如果你是在一个窗口干什么后打开另一个窗口的。。就是说你在一个窗口中打开另一个窗口的。。

TextFrame 类 这里面有个文本框和一个按钮。。点击按钮就打开另一个窗口。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TextFrame extends JFrame {

public JTextField jt;

/**

* @param args

*/

public TextFrame() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JButton jb = new JButton("点击");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

new ButtonFrame(TextFrame.this);

}

});

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

jp.add(jb);

this.add(jp);

this.setBounds(100, 100, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new TextFrame();

}

}

ButtonFrame 类。。这里面有个按钮。点击就可以设置这边这个文本框的内容了。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class ButtonFrame extends JFrame {

private TextFrame jf;

public ButtonFrame(TextFrame frame) {

this.jf = frame;

JButton jb = new JButton("点击设置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("请输入", null);

ButtonFrame.this.jf.jt.setText(str);

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setBounds(250, 250, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

如果两个类都是单独运行的。。没有任何关系的话(即不是在一个窗口中点击上面东西或是干什么就打开另一个窗口)。。都是独立运行的。。

那就需要用到socket了哦。。

下面两个类你都单独运行就是了哈。。

服务器端:SocketManager类。这里面有个文本框。。

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class SocketManager extends JFrame {

/**

* @param args

* @throws IOException

*/

private JTextField jt;

public static void main(String[] args) {

SocketManager manager = new SocketManager();

manager.doListen();

}

public SocketManager() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public void doListen() {

ServerSocket server;

try {

server = new ServerSocket(9991);

while (true) {

Socket client = server.accept();

new Thread(new SSocket(client)).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

// 服务器进程

class SSocket implements Runnable {

Socket client;

public SSocket(Socket client) {

this.client = client;

}

public void run() {

DataInputStream input;

while (true) {

try {

input = new DataInputStream(client.getInputStream());

try {

String listMsg = input.readUTF();

SocketManager.this.jt.setText(listMsg);

} catch(Exception e) {

break;

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

客户端:Client类 有个按钮。。点击弹出输入框输入内容。。服务器的文本框就显示你输入的内容

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class Client extends JFrame {

private static Socket socket;

OutputStream netOut;

DataOutputStream doc;

public Client() {

try {

socket = new Socket("127.0.0.1", 9991);

this.netOut = socket.getOutputStream();

this.doc = new DataOutputStream(netOut);

} catch(Exception e) {

e.printStackTrace();

}

JButton jb = new JButton("点击设置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("请输入", null);

try {

doc.writeUTF(str);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new Client();

}

}

java怎么通过socket实现服务端与客户端交互

1、服务端监听一个端口,其它客户端都通过这个端口和服务端进行通信。

2、每个客户端连接上来,服务端给其一个标识ID。然后向其它所有客户端广播一下有新客户端接入,ID多少。

3、客户端要向客户端发送消息,可以以消息包的形式发送,就是把目的客户端的标识和发送的内容组成一个数据包发往服务器,服务器读取就知道要向哪 个客户端发送数据,然后把内容往目的客户端通道发送


网站标题:java代码怎么实现交互,JAVA交互
本文链接:http://azwzsj.com/article/hcoeeo.html