mcgyver83
07-09-2005, 11:05
Ho scritto questa servlet stupida:
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class HitServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
String message = "";
message=cerca_news(request.getParameter("user"));
System.out.println(message);
response.setContentType("text/plain");
response.setContentLength(message.length());
PrintWriter out = response.getWriter();
out.println("Hai queste news per te:"+message);
}
String cerca_news(String User)
{
String user="";
String news="";
try
{
BufferedReader inputStream = new BufferedReader(new FileReader("c:\\Tomcat\\webapps\\midp\\WEB-INF\\classes\\News.txt"));
String line=null; //da lasciare
line=inputStream.readLine();
while (line != null)
{
user=line.substring(0,1);
if ((user.compareTo(User))==0)
{
news=news+"; "+line.substring(2,line.length());
}
line=inputStream.readLine();
} inputStream.close(); //da lasciare
} catch(FileNotFoundException e)
{System.out.println("File News.txt non trovato");}
catch(IOException e )
{System.out.println("Lettura del file non riuscita");}
return news;
}
}
e il file News.txt e':
S,Aereo caduto
A,Beauty farm nuova
S,Formula uno monza
Ho due problemi:
- Quando la invoco dal browser mi restituisce la scritta: Hai queste news per te:; Aereo ca
praticamente mi tronca la stringa. Se invece uso il metodo cerca_news con un main java classico che stampa su standard output mi restituisce tutta la stringa in maniera corretta; perche'?
- Nel file ho la coppia user.password,news
Non c'e' un metodo gia' fatto per dire leggi la stringa fino a "." e poi di seguito fino a ";" e poi fino alla fine?
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class HitServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
String message = "";
message=cerca_news(request.getParameter("user"));
System.out.println(message);
response.setContentType("text/plain");
response.setContentLength(message.length());
PrintWriter out = response.getWriter();
out.println("Hai queste news per te:"+message);
}
String cerca_news(String User)
{
String user="";
String news="";
try
{
BufferedReader inputStream = new BufferedReader(new FileReader("c:\\Tomcat\\webapps\\midp\\WEB-INF\\classes\\News.txt"));
String line=null; //da lasciare
line=inputStream.readLine();
while (line != null)
{
user=line.substring(0,1);
if ((user.compareTo(User))==0)
{
news=news+"; "+line.substring(2,line.length());
}
line=inputStream.readLine();
} inputStream.close(); //da lasciare
} catch(FileNotFoundException e)
{System.out.println("File News.txt non trovato");}
catch(IOException e )
{System.out.println("Lettura del file non riuscita");}
return news;
}
}
e il file News.txt e':
S,Aereo caduto
A,Beauty farm nuova
S,Formula uno monza
Ho due problemi:
- Quando la invoco dal browser mi restituisce la scritta: Hai queste news per te:; Aereo ca
praticamente mi tronca la stringa. Se invece uso il metodo cerca_news con un main java classico che stampa su standard output mi restituisce tutta la stringa in maniera corretta; perche'?
- Nel file ho la coppia user.password,news
Non c'e' un metodo gia' fatto per dire leggi la stringa fino a "." e poi di seguito fino a ";" e poi fino alla fine?