An error occurred at line: 9 in the jsp file: /Test1.jsp
The method addURL(String, String) is undefined for the type SearchLink
6:
7: if(url1!=null && url1.trim().length()!=0){
8: myfirst.SearchLink p=new myfirst.SearchLink();
9: String result=p.addURL(url1,source1);
10: out.println(result);
11: System.out.println(result);
12: }else{
如果您需要任何进一步的详细信息来回答错误原因,请与我们联系。 提前致谢
完整的jsp编码如下。
<%@ page import="myfirst.*" %>
<%
String url1=request.getParameter("url");
String source1=request.getParameter("source");
if(url1!=null && url1.trim().length()!=0){
myfirst.SearchLink p=new myfirst.SearchLink();
String result=p.addURL(url1,source1);
out.println(result);
System.out.println(result);
}else{
System.out.println("Not a valid url");
out.println("Not a valid url");
}
%>
这是我的名为SearchLink的Java代码,我也编译了这个版本..
package myfirst;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
public class SearchLink{
public static void main(String args[]) throws Exception {
//String link="http://hosted.ap.org";
}
public String checkURL(String link,String source)throws SQLException{
Connection con=null;
Statement stmt=null;
Statement stmtR=null;
//link="http://www.topix.com/rss/city/ellensburgwa";
//String source="Sample";
if(con==null){
SQLConnection.setURL("jdbc:sqlserver://192.168.2.53\\SQL2005;user=sa;password=365media;DatabaseName=LN_ADWEEK");
con=SQLConnection.getNewConnection();
stmt=con.createStatement();
stmtR=con.createStatement();
}
try{
ResultSet rs;
boolean hasRows=false;
rs=stmt.executeQuery("select url from urlbckup where url='"+link+"'");
while(rs.next()){
hasRows=true;
//String mem=rs.getString(1);
rs.close();
return "This URL already exists in DB";
}
rs.close();
if (!hasRows)
{
}
return "This URL does not exist in DB";
}catch(Exception e){
e.printStackTrace();
return e.getMessage();
}finally{
if(stmtR!=null){
stmtR.close();
}
if(stmt!=null){
stmt.close();
}
if(con!= null){
con.close();
}
}
}
public String addURL(String link,String source)throws SQLException{
Connection con=null;
Statement stmt=null;
Statement stmtR=null;
if(con==null){
SQLConnection.setURL("jdbc:sqlserver://192.168.2.53\\SQL2005;user=sa;password=365media;DatabaseName=LN_ADWEEK");
con=SQLConnection.getNewConnection();
stmt=con.createStatement();
stmtR=con.createStatement();
}
try{
PreparedStatement insertUrlStatement = con.prepareStatement("INSERT INTO urlbckup VALUES(?, ?, ?, ?, ?)");
insertUrlStatement.setInt(1, 21211);
insertUrlStatement.setString(2, link);
insertUrlStatement.setString(3, source);
insertUrlStatement.setInt(4, 1);
insertUrlStatement.setInt(5, 0);
insertUrlStatement.executeUpdate();
insertUrlStatement.close();
return "The URL has been added to the Database";}
catch(Exception e){
e.printStackTrace();
return e.getMessage();
}finally{
if(stmtR!=null){
stmtR.close();
}
if(stmt!=null){
stmt.close();
}
if(con!= null){
con.close();
}
}
}
}
答案 0 :(得分:6)
您应该重新部署您的应用程序。
在大多数IDE中,当您部署Web应用程序时,仍然可以编辑jsp页面并将其“重新部署”到Web容器上。但是对于类,您需要重新编译代码并重新部署应用程序。
现在有些IDE和auto会自动重新部署你的应用程序。还有像jrebel这样的项目允许您在不重新部署的情况下将类更改为应用程序。
答案 1 :(得分:2)
假设myfirst.SearchLink
是一个完全限定的类名,编译器告诉你SearchLink
类没有定义一个名为addURL
的方法,该方法需要两个String
个参数
可能的原因:
修改强>
以上都不适用,所以我的下一个猜测是你忽略了编译并将最新版本的SearchLink
类部署到你的网络服务器。
答案 2 :(得分:1)
这意味着SearchLink类没有带有签名addURL(String,String)的方法。