用java写的一个web,效果如下图;总结一下遇到的问题:
1. 端口被占用,可以尝试下换端口;
2. 个别电脑装的软件类型太多,有时候接收不到端口, 写对了不出效果别纠结在一台电脑,本人深受其害;
3.保证开发过程的有效性,就要做到不断测试,测试很重要. 如果不测试一口气写了一大堆,可能一个小报错都可能让你疑惑 很久;
以下是代码:
在你的项目里建立一个包叫webroot ,然后建立一个
名为index.html的文件,在文件里丢以下代码:
<html>
<head>
<title>服务器</title>
</head>
<body>
<div align="center">123456789</div>
</body>
</html>
再往下就是你的class类的代码:
/**
*
*/
package Web.server;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author Administrator
*
*/
public class WebServer {
private static final int post = 8124;
private static final String uri = System.clearProperty("user.dir")+File.separator+"webroot"+File.separator;
/**
* @param args
*/
public WebServer(){
System.out.println("WebServer()------star");
System.out.println("url------------------->"+uri);
System.out.println("File--------------->"+File.separator);
try {
ServerSocket listener=new ServerSocket(post);
System.out.println("listener---服务器正在运行端口----------------->"+listener.getLocalPort());
while(true){
System.out.println("判断是否进入循环");
Socket socket=listener.accept();
System.out.println("socket------------------->"+socket.getLocalPort());
//new PrintWriter(socket.getOutputStream(),true).println("你好! 世界!!");
//BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//System.out.println("in--------------------------->"+in);
//输出流
PrintStream out = new PrintStream(socket.getOutputStream(),true);
//设置路径
File fileuri=new File(uri+"index.html");
System.out.println("fileuri------------------------------>"+fileuri);
//设置文件类型
String contentType=null;
contentType="text/html;charset=GBK";
if(!fileuri.exists()){ //如果不存在此文件
System.out.println("没有找到这个文件");
}else{
System.out.println("找到这个文件");
/*out.println("HTTP/1.0 200 OK");
out.println(contentType);
out.println();*/
}
FileInputStream fis=null;
fis=new FileInputStream(fileuri);
System.out.println("fis------------------------->"+fis);
byte data[];
data = new byte[fis.available()];
System.out.println("data------------------>"+data);
fis.read(data);
out.write(data);
out.close();
if(fis!=null){
fis.close();
}
socket.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*public void run(){
System.out.println("run()--------------start");
}*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new WebServer();
}
}