很奇怪的错误呢。
难道public static void main(String[] args)是构建函数???
否则的话应该存在参数为空的构建函数啊?D:\tomcat 5\work\Catalina\localhost\hold_v5\org\apache\jsp\app\dosms_jsp.java:63: Sms(java.lang.String) in util.sms.Sms cannot be applied to ()
Sms sms = new Sms();
^
1 error
难道public static void main(String[] args)是构建函数???
否则的话应该存在参数为空的构建函数啊?D:\tomcat 5\work\Catalina\localhost\hold_v5\org\apache\jsp\app\dosms_jsp.java:63: Sms(java.lang.String) in util.sms.Sms cannot be applied to ()
Sms sms = new Sms();
^
1 error
即然,可以用import来导入类库里的类,
当然也可导入其它类喽!!不过使用javabean
的确方便很多!
在jsp中想引用java文件,必须使用javabean,正如hujiaboy所写,学一学javabean吧!
错误的回答
Sms sms = new Sms();
这个异常信息是说你定义了一个带String参数的构造方法(注意,此时要使用不带任何参数的构造方法,就得在程序中显示定义,编译器不会提供默认实现),而你却使用不带任何参数的构造方法去构造一个对象,所以造成了构造时的异常出现这个异常的原因跟jsp没有任何关系,完全是java语法的基础问题
但是你在页面中新构造的Sms对象也是没有用的啊,main是静态的....
public Sms(Stirng str){
...
} public Sms(){
}
public static void main(String[] args) {
Sms sms = new Sms("");
sms.sendData(sms_content);
}
....
}
楼主还是先打好基础吧
public class Sms
{
private str ="";
public Sms( String s )
{
str = s;
}
public String getStr()
{
return str;
}
public static void main(String[] args)
{
Sms sms = new Sms("");
String s = sms.getStr();
System.out.println( s );
}
}
在jsp中可以
<%@page import="util.sms.*"%>
<%
Sms sms = new Sms("");
String s = sms.getStr();
out.println( s );
//不能这样调用
//sms.main(String[] args);%>
<%@page import="util.sms.*"%>应该没问题;
我先按照楼上的大大们说的试试@_@
在jsp页面中可以直接初始化类并调用其方法,而且,这样做更直观,效率也较用标签初始化高,
所谓javaBean,其实就是个类,和楼主写的方法差别不大,楼主的程序只是缺少一个构造方法,我测试过了,可以调用main方法
只要加上public Sms()
{
}
就可以了,
在java中加了一个todo
public class Sms { public static void main(String[] args) {
Sms sms = new Sms("");
sms.sendData(sms_content);
}
public void todo() {
Sms sms = new Sms("");
sms.sendData(sms_content);
}
……
}
在jsp中这样调用就执行java程序了
<% Sms ss= new Sms("");
ss.todo(); %>
另外 to: hlnccc(亚斯托雷斯) 我试着加了public Sms(){} 然后在jsp中用Sms ss= new Sms("");
ss.Sms()或ss.main()和ss.main("");都不行啊,要报错的,该怎么写?再次谢谢大家!!!