I am using Java Servlet. In there, i have to use regular expression to filter out the text.
However, the java compiler says at the import of import java.util.regex.Pattern; “can not resolve the symbol”
Thus all my consecutive matcher and pattern functions are not working.
Can not we use regex packages in a servlet? i was not able to use contians function of string as it gave me an error too. Is there any alternative for the same ?
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.List;
import java.util.regex.Pattern;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException
{
response.setContentType("text/plain;charset=ISO-8859-1");
PrintWriter out = response.getWriter();
String keyword = request.getParameter("inputValue");
HttpClient cl = new HttpClient();
String temp = "http://localhost:8080/solr/select/?q=*%3A*&version=2.2&start=0&rows=2000&indent=on";
PostMethod pst = new PostMethod(temp);
String XMLstr="<GIS>";
Perl5Util perl=new Perl5Util();
try{
cl.executeMethod(pst);
String xmlstr=pst.getResponseBodyAsString();
SAXBuilder sax=new SAXBuilder();
Document doc= (Document) sax.build(new StringReader(xmlstr));
Element rootElem=doc.getRootElement();
Element res=rootElem.getChild("result");
List docs=res.getChildren("doc");
for(int i=0;i<docs.size();i++)
{
out.println("docsSize = " + docs.size());
Element row= (Element)docs.get(i);
List strs=row.getChildren("str");
out.println("strs = " + strs.size());
out.println("Hello");
Element strRow=(Element)strs.get(0);
String strContent=strRow.getText().toString();
Element strRow1=(Element)strs.get(1);
String Lati=strRow.getText().toString();
Element strRow2=(Element)strs.get(2);
String Longi=strRow.getText().toString();
Element strRow3=(Element)strs.get(3);
String FileName=strRow.getText().toString();
if(strContent.contains(keyword))
{
//out.println("XMLstr: ");
XMLstr+="<File><id>"+FileName+"</id><Lat>"+Longi+"</Lat><Long>"+F+"</Long>";
//out.println("XMLstr: "+XMLstr);
}
//out.println(strRow.getText());
break;
}
}catch(Exception e)
{
out.println(e);
}
}
}
As per the JavaDoc, the package should be
java.util.regex.Patternand notjava.utils.regex.Pattern.EDIT: are you sure you have the appropriate syntax? (
<%@ page import java.util.regex.Pattern %>). Maybe you are using an older version of Java? ThePatternclass was made available in Java 1.5.To see what version you are currently running, open command prompt or terminal and type in
java -version. This should yield the Java version you have running on your machine.