A. java实现调用webserver
一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:
Java代码
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}
public static void main(String[] args) {
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);
}
}
Java代码
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}
public static void main(String[] args) {
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);
}
}
2.使用 apt 编译 Hello.java(例:apt -d [存放编译后的文件目录] Hello.java ) ,会生成 jaws目录
3.使用java Hello.Hello运行,然后将浏览器指向http://localhost:8080/hello?wsdl就会出现下列显示
4.使用wsimport 生成客户端
使用如下:wsimport -p . -keep http://localhost:8080/hello?wsdl
5.客户端程序:
Java代码
class HelloClient{
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.hello("你好");
System.out.println(hello);
}
}
Java代码
class HelloClient{
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.hello("你好");
System.out.println(hello);
}
}
B. 独立的main方法调用Spring MVC框架中的service
这个service不能这么new出来,需要在main方法中得到spring容器
public class SpringTest {
public static void main(String[] args) {
ApplicationContext ac = new ("bean.xml");
IPersonService ips = (IPersonService) ac.getBean("personService");
ips.sayHelloToSpring();
}
}
,再用容器的getBean(“”)来得到service,这样,是spring容器就把之间的关系都注入好了。这是我写过的一个用main方法做测试的例子。真正的测试是不用main方法的,是用专门的测试工具来模拟web程序的。
C. 通过写java代码如何实现把excle中的数据导入到sqlserver2008中 在main方法中测试就可以。需要源码
可以使用apache poi 来实现。大概思路是:先把excle上传到服务器。然后利用poi的API来读取文件数据。然后存入数据库
D. java中main方法内调用其他方法吗
可以的,在main中调用另一个方法中的main:
public class Test1
{
public static void main(String[] args)
{
Test2.main(args);
}
}
E. activitythread main方法在哪儿调用
在一个Android 程序开始运行的时候,会单独启动一个Process。
默认的情况下,所有这个程序中的Activity或者Service(Service和 Activity只是Android提供的Components中的两种, 除此之外还有Content Provider和Broadcast Receiver)都会跑在这个Process。一个Android 程序默认情况下也只有一个Process,但一个Process下却可以有许多个Thread。
在这么多Thread当中,有一个Thread,我们称之为UI Thread。
UI Thread在Android程序运行的时候就被创建,是一个Process当中的主线程Main Thread, 主要是负责控制UI界面的显示、更新和控件交互。
在Android程序创建之初,一个Process呈现的是单线程模型,所有的任务都在一个线程中运行。因此,我们认为,UI Thread所执行的每一个函数,所花费的时间都应该是越短越好。而其他比较费时的工作(访问网络,下载数据,查询数据库等),都应该交由子线程去执行,以免阻塞主线程。
那么,UI Thread如何和其他Thread一起工作呢?常用方法是:
1.诞生一个主线程的Handler物件,当做Listener去让子线程能将讯息Push到主线程的Message Quene里,以便触发主线程的handlerMessage()函数,让主线程知道子线程的状态,并在主线程更新UI。
2.在子线程的状态发生变化时,我们需要更新UI。
如果在子线程中直接更新UI,通常会抛出下面的异常:
ERROR/JavaBinder(1029):android.view.ViewRoot$:Only the original thread that created a view hierarchy can touch its views.
意思是,无法在子线程中更新UI。
3.我们需要通过Handler物件,通知主线程Ui Thread来更新界面。
F. 求解答啊!在线等!老板给我一个任务,就是写一个方法调用sql server 2008的存储过程,
存储过程:利用sql语句编写的函数,存储过程存在于数据库中,看看数据库里有没有,网络啊
存储过程的调用:call 存储过程名。不同的数据库略有不同,网络
java执行存储过程:最简单的利用JDBC。网络
每日执行如何做到,Java里面有个计时器类Timer,可以完成对某个功能的定时调用。
可以把上面的代码放到Java Project这种类型的项目中,就是有main函数的那种项目,然后把写好的项目做成个Java小程序,把小程序放到电脑上,运行它,
G. 怎样在main方法中调用本类的方法
两种方式:
方式一:创建本类的对象,使用对象调用本类的方法就可以
方式二:将本类的放发改成静态方法 :修饰符 static 返回值 方法名([参数]){ 方法体;},这样没在主方法里直接调用方法名即可
H. java Main函数怎么调用其他函数。 其他类。
主函数main前必须有static修饰符,static表示是静态。
一般,在静态的方法中,若要|-直接-|调用其他方法,那么被调用的也必须是静态。
你的程序中包含两个部分
方法getInt() 和主函数main 其中主函数是静态(main必须是静态)。
那么要在main中直接调用getInt()是不可以了,因为getInt没有用static修饰,也就是说getInt不是静态。
将public void getInt() 修改成 public static void getInt() ,追加静态修饰符static后可直接调用。
主函数main修改为
public static void main(String[] args)
{
getInt(); //这里调用了上面的方法
System.out.println("总共有括号对数:");
}
返回值:
有些方法是带有返回值的,取决于你的用途。能不能带返回值取决于void修饰符
普通方法,无返回值void修饰 。如 public void fangfa()这是无返回值的
public int fangfa() 这个是有返回值的,而且返回值必须是int
举个例子
public int getPlayercounts()
{
int playercount = 0 ;//一般先初始化一个相应的变量待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相关的计算和方法开始..
playercount ++ ;
return playercount; //返回一个int值(重要,而且是必须)
}
当你的方法不是用void修饰 而是用其他数据类型修饰,均是要有返回值的,也就是说在方法的结束为止至少要有一个return + 相应的数据类型的变量 来结束。
那么返回值究竟有什么意义呢?
看下面这个例子、
public static int getPlayercounts() //注意我用了static 这是一个静态方法
{
int playercount = 0 ;//一般先初始化一个相应的变量待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相关的计算和方法开始..
playercount ++ ;
return playercount; //返回一个int值(重要,而且是必须)
}
public static voin main(String[] args)
{
System.out.println("一共有"+getPlayercounts()+"个玩家");
}
看出来了吧,getPlayercounts()执行后 会获得执行时得到的int数,在一些需要最后得到某个结果的方法中,用含有返回值的方法是非常方便的。
==============================================
你的代码完全修改后如下,因为你需要的是得到括号数,所以将你的原有方法改成一个返回int值得方法。
public class java
{
public static int getInt()// 原来是 public void getInt() ,修改后增加了static修饰, int替换了void
{
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
return Math.min(iY, iX);//取两者之间的最小值(即括号对数)作为返回值
}
public static void main(String[] args)
{
System.out.println("总共有括号对数:"+getInt());
}
}
郁闷 写了半天发现你已经认可了。。
I. java怎么在main函数调用其他类的方法
new 出来。
比如有个classaa类
classaa(){
}
aaa=newaa();
J. java内部类的调用,请大家帮帮忙
如果内部类被声明为public,是可以直接new的
也可以把MyFrame当成Server的一个属性,调用方式同楼上,不过如果内部类被声明为private,这样访问就会失败
所以我觉得还是做一个封装比较好:
public class Server{
/**
* 这样就封装了创建内部类实例的操作
*/
public MyFrame getFrameInstance(){
return new MyFrame("simple frame");
}
public class MyFrame extends Frame{
private TextField tf = new TextField();
private TextArea ta = new TextArea();
public MyFrame (String str){
super(str);
add(ta);
add(tf);
this.setVisible(true);
}
}
public static void main(String[] args){
Server server=new Server();
MyFrame frame=server.getFrameInstance();
}
}