Java web szerver mukodesi hiba

Ez a téma lezárásra került a moderátor által. A lezárás oka: Ilyen jellegű kérdéssel a Prog.hu-t keresd fel a jövőben!
Java web szerver mukodesi hiba
2011-03-19T12:08:46+01:00
2011-03-19T12:13:46+01:00
2022-07-27T13:16:55+02:00
bazsoja
Sziasztok!

Az elso webszerverem irom szoval meg nincs tapasztalatom ebben a temaban.

De a kozzepebe:
Ha megprobalok egy kerest dobni a szervernek a keres elmegy a szerver feldolgozza de a visszavalasszal gond van.

Itt a ket osztaly:
Szerver osztaly:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package szerver;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.StringTokenizer;

/**
*
* @author bzim1043
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here


/*try {
BufferedWriter out = new BufferedWriter(new FileWriter("fnev.html"));
out.write("aString");
out.close();
} catch (IOException e) {
} */
File f=null;
ServerProtocol myProtocol = new ServerProtocol();
ServerSocket serverSocket=null;
try {
serverSocket = new ServerSocket(7777);
} catch (IOException e) {
System.out.println("ERROR:ServerSocket");
System.exit(-1);
}

Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
} catch (IOException e) {
System.err.println("ERROR:ACEPT");

}

PrintWriter out = new PrintWriter(
clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
String inputLine, outputLine, filename="", ansver;
//http://localhost:7777/fnev.html
//while (true) { //Infinite loop
inputLine = in.readLine();
System.out.println(inputLine);
StringTokenizer st = new StringTokenizer(inputLine);
st.nextToken();
filename=st.nextToken();
StringTokenizer st1 = new StringTokenizer(filename);

filename=st1.nextToken("/");
System.out.println("The filename:"+filename);
//filnev meghatarozva
f=new File(filename);
if (!f.exists())
{
out.println(myProtocol.fileNotFound());
out.println(myProtocol.connectionCloseString());
System.out.println(myProtocol.fileNotFound());
clientSocket.close();
}
else
{
//Ha megvan a file
// System.out.println("A file megvan");
StringTokenizer st2 = new StringTokenizer(filename);
st2.nextToken(".");
String fileType = st2.nextToken(".");
System.out.println(fileType);
if (fileType.equals("html")){
out.println(myProtocol.okHeader());
System.out.println(myProtocol.okHeader());
out.println(myProtocol.connectionType("TEXT/HTML"));
System.out.println(myProtocol.connectionType("TEXT/HTML"));
out.println(myProtocol.fileLenght(filename));
System.out.println(myProtocol.fileLenght(filename));
out.println();
try {
//use buffering, reading one line at a time
//FileReader always assumes default encoding is OK!
BufferedReader input = new BufferedReader(new FileReader(f));
try {
String line = null; //not declared within while loop
while (( line = input.readLine()) != null){
out.println(line);
System.out.println(line);
}
}
finally {
input.close();
}
}
catch (IOException ex){
// ex.printStackTrace();
}
out.println("\r\n");
}
else{
//nem html file volt ezert bitenkent kuldom
out.println(myProtocol.okHeader());
out.println(myProtocol.connectionCloseString());
out.println(myProtocol.connectionType("IMAGE/JPEG"));

try {
FileInputStream file = new FileInputStream(filename);
boolean eof = false;
int count = 0;
while (!eof) {
int input = file.read();
// System.out.print(input + " ");
out.print(input);
if (input == -1)
eof = true;
else
count++;
}
file.close();
// System.out.println("\nBytes read: " + count);
} catch (IOException e) {
System.out.println("Error - " + e.toString());
}
}


}



//} //End of the infinite loop :P

}

}

ServerProtocol osztaly:

import java.io.File;

/**
*
* @author bzim1043
*/
public class ServerProtocol {
String ret=null;

public String fileNotFound(){
return "HTTP/1.0 404 File not Found";
}

public String connectionCloseString(){
return "CONNECTION: CLOSE\r\n";
}
public String connectionType(String myType){
return "CONTENT-TYPE: "+myType;
}
public String fileLenght(String fileName){
File f=new File(fileName);
long fileSize = f.length();
return "CONTENT-LENGTH: "+Long.toString(fileSize);
}
public String okHeader(){
return "HTTP/1.0 200 OK\r\n";
}


}


Ha bongeszobe beirom:
http://localhost:7777/fnev.html
Minden sort amit elkuldok kiiratok. A java ezt irja ki :
run:
GET /fnev.html HTTP/1.1
The filename:fnev.html
html
HTTP/1.0 200 OK

CONTENT-TYPE: TEXT/HTML
CONTENT-LENGTH: 501
<html>
<head>
<title>Halozatok teszt</title>
</head>

<body bgcolor="yellow" text="black" link="blue" vlink="green" alink="red">
A dokumentumt&#65533;rzs.
<br>1. Link
<br>2. Link
<A href="http://www.valami.hu.hu/c&#65533;loldal.htm">Link sz&#65533;vege.</A>
<!-- <img src="kep.jpg" align="right" width="80" height="80" alt="Alternate Text - Eg&#65533;r hat&#65533;s&#65533;ra megjelenik" name="kep" border="0" hspace="18" vspace="4" units="pixel"> -->

</body>
</html>
BUILD SUCCESSFUL (total time: 13 seconds)
Ezt kellene elmeletileg megkapja a bongeszo.

Viszont csak egy :
A http://localhost:7777/fnev.html weboldal lehet, hogy ideiglenesen nem érhető el, vagy véglegesen új címre költözött.
Hiba: 101net::ERR_CONNECTION_RESET): Ismeretlen hiba.
dob.

Ha valaki tudja hogy hol hibaztam kerem szoljon.

Koszonom!
Mutasd a teljes hozzászólást!

Ez a téma lezárásra került a moderátor által. A lezárás oka: Ilyen jellegű kérdéssel a Prog.hu-t keresd fel a jövőben!
abcd