会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132603个问题

public class Server {//服务器 用于启动和停止服务
    private ServerSocket server;
    private boolean isShutDown = false; //默认没有出错
    public void start() {
        this.start(8888);
    }
    public void start(int port) {
        try {
            server = new ServerSocket(port);
            this.receive();//调用接收请求信息的方法
        } catch (IOException e) {
            isShutDown = true;
        }
    }
    private void receive() {
        try {
           while(!isShutDown) {
               //(1)监听
               Socket client = server.accept();
               //创建线程类对象
               Dispatcher dis = new Dispatcher(client);
               //创建代理类并启动线程
               new Thread(dis).start();
           }
                      
        } catch (IOException e) {
           this.stop();//关闭服务器
        }
    }
    public void stop() {
        isShutDown = true;
        IOCloseUtil.closeAll(server);
    }
    public static void main(String[] args) {
        Server server = new Server();
        server.start();
    }
}

image.png

老师,麻烦您看一下为什么会出现这个错误


JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 25261楼

问题: 老师加了引号之后,还报错, Could not initialize class com.bjsxt.JdbcUtil,properities那个文件在src的里面


package com.bjsxt;
/**
 * JDBC工具类
 * @author
 *
 */
//获取Connection对象
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JdbcUtil {
 private static String driver;
 private static String jdbcUrl;
 private static String username;
 private static String userpassword;
 static {
   //读取Properties
   ResourceBundle bundle = ResourceBundle.getBundle("jdbc.driver");
   driver = bundle.getString("driver");
   jdbcUrl = bundle.getString("jdbcUrl");
   username = bundle.getString("username");
   userpassword = bundle.getString("userpassword");
   
   try {
    //数据库的驱动实例化出来
    Class.forName(driver);
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
 }
 
 //获取Connection对象的封装
 public static Connection getConnection() {
  Connection conn=null;
  try {
   //创建链接
  conn = DriverManager.getConnection(jdbcUrl,username,userpassword);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }
 //关闭Statement
 public static void closeStatement(Statement state) {
  
   try {
    if(state!=null) {
     state.close();
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  
 }
 //关闭Connection
 public static void closeConnection(Connection conn) {
  try {
   if(conn!=null) {
    conn.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 //关闭资源
 public static void closeResource(Statement state,Connection conn) {
  closeStatement(state);
  closeConnection(conn);
 }
}
package com.bjsxt;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcTest {
 
 //向Departments表中添加一条数据
 public void insertDepartments(String department_name,int location_id) {
  Connection conn = null;
  Statement state = null;
  try {
   //注册驱动  通过反射;//是为了加载类驱动,其实就是判断Driver类是否存在(有没有导包)
   //创建链接
   conn = JdbcUtil.getConnection();
   //执行sql
   String sql = "insert into departments values(default,'"+department_name+"',"+location_id+")";
      state = conn.createStatement();
   int flag = state.executeUpdate(sql);
   System.out.println(flag);
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally {
   JdbcUtil.closeStatement(state);
   JdbcUtil.closeConnection(conn);
  }
  
 }
 
 //更新department表中的department_id为6的数据,将部门名称修改为教学部,location_id修改为8
 public void updateDepartments(String department_name,int location_id,int department_id) {
  Connection conn = null;
  Statement state=null;
  try {
   conn = JdbcUtil.getConnection();
   state = conn.createStatement();
   //语句的处理,需要字符串的拼接
   String sql = "update departments d set d.department_name='"+department_name+"',d.location_id = "+location_id+" where d.department_id="+department_id+"";
   int flag = state.executeUpdate(sql);
   System.out.println(flag);
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }finally {
   JdbcUtil.closeResource(state, conn);
  }
 }
 
 public static void main(String[] args) {
  
  JdbcTest test = new JdbcTest();
 // test.insertDepartments("人力资源2", 10);
  
  test.updateDepartments("外联部", 5, 6);
 }
}
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username=root
userpassword=123456


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 25263楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 25264楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 25266楼
Python 全系列/第一阶段:Python入门/编程基本概念 25267楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 25271楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 25272楼
JAVA 全系列/第一阶段:JAVA 快速入门/IDEA的使用和第一个java项目 25274楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637