1.现阶段服务器不是1对1,而是为多个客户端提供服务
2.网络编程,多线程
3.步骤
1.ServerScocke ss=new ServerSocket(port)
2.while(true){
Socket s=ss.accept();
3.new ServerThread(s).start;
}
4.编写线程类,传递Socket对象,要实现的功能,就通过run方法调用,或者直接写在run方法中
接收用户发送的文件,并且保存,简单的上传,
解决文件重名 UUID.randomUUID().toString();
浏览器链接的部分注意事项
1.获取到浏览器的请求头部,并且分析请求
2.建立管道 磁盘文件->java内存 fis java内存=>客户端浏览器
3.发送消息头
os.write("HTTP /1.1 200 ok\r\n".getBytes("utf-8"));
os.write("Content-Type:text/html\r\n".getBytes("utf-8"));
File file=new File("webapp"+pathName);
os.write(("Content-Length:" + file.length() + "\r\n").getBytes("utf-8"));
os.write("\r\n".getBytes("utf-8"));
制作静态网站的尝试
Thread_html.java
Main.java
尝试部署了简单的html页面网站成功
简单学习了解java反射相关
1.获得class对象,class管理指定类的方法,属性和构造方法以及其他的
1.Class c=Class.forName("要调用的类的路径"); com.mysql.cj.jdbc.Driver
2.通过类获得 Student.class;
3.通过一个对象获得 obj.getClass();
2.管理指定类的方法,成员变量,构造方法
getMethods() 返回所有共有的方法
getConstructors() 返回所有的共有构造函数
getFields() 返回所有的共有成员变量
getDeclaredMethods() 返回所有的方法
getDeclaredContructors()
getDeclaredFields()
根据参数和名称指定一个方法
getConstructor(参数类型.....)
getMethod(方法名称,参数类型)
3.Constructor
为什么要获得构造方法:因为构造方法是创建对象
1.使用参数确定构造方法 Constructor ctt0=c.getContructor(null);
Constructor ctt1=c.getConstructor (int.class,String.class,float.class);
2.使用构造方法对象的new Instance(),来构建对象
ctt1.newInstance(1,"张敏",3.89f);
4.Method
1.找到指定的方法
Method m=c.getMethod(方法名,int.class,String.class)
2.使用该方法
String x=m.invoke(obj,param1,param2,,,,,,,);