会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132834个问题
WEB前端全系列/第十九阶段:Vue2知识体系(旧)/Vue基础知识 33571楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 33572楼

客户端代码
public class client {
    public static void main(String[] args) throws IOException {
        Socket client =new Socket("localhost",10000);
        ObjectOutputStream oos=new ObjectOutputStream(client.getOutputStream());
        User u =new User("jscn","jscn");
        oos.writeObject(u);
        DataInputStream dis=new DataInputStream(client.getInputStream());
        System.out.println(dis.readUTF());
        if (oos!=null){
            oos.close();
        }
        if(dis!=null){
            dis.close();
        }
        if (client!=null){
            client.close();
        }
    }
}

服务器端代码

public class server {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        System.out.println("--------服务器已启动-------------");
        ServerSocket server=new ServerSocket(10000);
        Socket u=server.accept();
        ObjectInputStream ois=new ObjectInputStream(u.getInputStream());
        User user=(User)ois.readObject();
        System.out.println(u.getInetAddress().getHostAddress()+"请求登录"+"请求用户名"+user.getUsername()+"请求密码"+user.getPassword());
        String str="";
        if("jscn".equals(user.getUsername())&&"jscn".equals(user.getPassword())){
           str="登录成功";
        }else {
            str="登录失败";
        }
        DataOutputStream dos=new DataOutputStream(u.getOutputStream());
        dos.writeUTF(str);
        if (u!=null){
            u.close();
        }
        if (ois!=null){
            ois.close();
        }
        if (dos!=null){
            dos.close();
        }
    }
}

运行后报错,客户端报错,显示连接被拒绝,请老师看看,哪里有问题了

blob.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 33575楼
人工智能/第九阶段:机器学习-概率图模型(旧)/HMM算法 33576楼
Python 全系列/第五阶段:数据库编程/mysql的使用 33579楼
JAVA 全系列/(旧的隐藏)第七阶段:JAVA 高级技术/VSFTPD 33581楼
Python 全系列/第七阶段:网页编程基础/JavaScript 33582楼

问题: 老师加了引号之后,还报错, 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技术(旧) 33585楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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