用java 写的一个简单的 web 服务器(适合新手练练)

用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();
 }

}


 

 

  

好的,以下是一个简单的 Spring Boot 实战项目,用于管理用户信息: 1. 创建一个基础的 Spring Boot 项目,引入以下依赖: ```xml <!-- Spring Boot Web 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot JPA 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- H2 数据库依赖 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> ``` 2. 创建一个实体类 User,包含 id、name、age 三个属性: ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // 省略 getter 和 setter 方法 } ``` 3. 创建一个 UserRepository 接口,继承 JpaRepository,用于操作用户数据: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 4. 创建一个 UserController 类,用于处理用户信息的增删改查: ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserRepository userRepository; @GetMapping("") public List<User> list() { return userRepository.findAll(); } @PostMapping("") public User create(@RequestBody User user) { return userRepository.save(user); } @GetMapping("/{id}") public User get(@PathVariable Long id) { return userRepository.findById(id).orElse(null); } @PutMapping("/{id}") public User update(@PathVariable Long id, @RequestBody User user) { user.setId(id); return userRepository.save(user); } @DeleteMapping("/{id}") public void delete(@PathVariable Long id) { userRepository.deleteById(id); } } ``` 5. 启动项目,访问 http://localhost:8080/users 即可查看用户列表,使用 POST、PUT、DELETE 方法操作用户信息。 以上就是一个简单的 Spring Boot 实战项目,可以通过这个项目练习 Spring Boot 的基本使用和 RESTful API 的实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值