老师,有个问题不明白,前面关于集合的初始化你是在无参构造器中给初始化好的,为什么在WebApp下不用构造器将数据初始化而是使用静态代码块来初始化呢,,想了解一下老师是怎么想的。
一、跟着老师敲的代码运行出来浏览器没有响应
package com.bjsxt.server; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; public class Server3 { public static void main(String[] args) { String CRLF="/r/n"; String BLANK=" "; //(1)创建ServerSocket对象 ServerSocket server=null; //(2)监听是否有客户端发来请求连接 Socket client = null; InputStream is = null; try { server = new ServerSocket(8888); client = server.accept(); //获取来自浏览器的请求信息 is = client.getInputStream(); byte []buf = new byte[20480]; int len=0; len = is.read(buf); System.out.println(new String(buf,0,len)); /** * 对web浏览器做出响应信息 */ StringBuilder sb = new StringBuilder(); StringBuilder sbContent = new StringBuilder();//响应的文本 sbContent.append("<html><head><title>响应结果</title></head>"); sbContent.append("<body>登陆成功</body></html>"); //(1)拼接响应头 sb.append("HTTP/1.1").append(BLANK).append(200).append(BLANK).append("OK"); sb.append(CRLF);//换行 sb.append("Content-Type:text/html; charset=utf-8"); sb.append(CRLF);//换行 sb.append("Content-Length:").append(sbContent.toString().getBytes().length).append(CRLF); sb.append(CRLF);//换行,代表响应头与响应正文之间的空行 sb.append(sbContent); //通过流输出 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"GBK")); bw.write(sb.toString()); bw.flush(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //(6)关闭流 try { IOClose.CloseAll(is,client,server); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
二、html代码
<html> <head> <title>我的第一个html</title> </head> <body> <h1>Hello World</h1> <form action="http://localhost:8888/index.html" method="post"> <p>用户名:<input type="text" id="uname" name="username"</p> <p>密码:<input type="password" id="pwd" name="password"></p> <p><input type="submit" value="登陆"/></p> </form> </body> </html>
三、运行截图
老师,报错,请指正。
源码:
http_server2.rar
为什么要同时重写equals和hashcode方法,
只重写equals可以不
还有,这个hashcode到底是个啥。
隐隐感觉5:47秒前后讲得或许有点小问题
lesson10_XML_v01.rar
直接上工程了
运行就报错,视频下面的评论看好几页了,绝对路径,{}等问题,都加或不加尝试了几遍。
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book.xsd">
我猜测可能关联空间有问题,尚未找到问题在哪,请老师指点
Users users = new Users();和Class clazz = Users.class;这两种创建对象的方式没有差别吗?都只是创建了Users类的对象啊
老师我一直有个问题想不明白就是,服务端和客户端都启动了receive线程(接收信息线程),为什么在客户端发送消息的时候,客户端的receive线程不打印信息
为什么要在new FileReader里面再new File,这里是起到什么作用,这个new File可不可以省略?
老师,为什么我打开的和视频上打开的源码方法不一样啊
老师,为什么这个方法反而线程名是这样的(下图)
而下面这个方法,就能get到姓名(下图)
主线程方法都没错
TestSyncThread.zip
老师,为什么在主线程休眠判断线程是否存活是false,而在子线程休眠判断是true?
老师,视频里说把socket定义在try语句外面,不是为了在finally里面关闭socket,那finally里面还能关闭socket吗?
还有,视频说一旦建立连接后,主线程就把socket关闭了,怎么会一建立连接就关闭了socket呢?
提问:为什么使用indexOf()和nextIndex()获取的元素的下标不一样?
public static oid main(String[] args) { ArrayList al = new ArrayList(); al.add("123"); al.add("-"); al.add("kk"); System.out.println("集合中的所有元素:"+al); System.out.println("######使用indexOf()获取元素下标"); System.out.println("123的下标为:"+al.indexOf("123")); System.out.println("‘-’的下标为:"+al.indexOf("-")); System.out.println("'kk'的下标为:"+al.indexOf("kk")); System.out.println("######使用nextIndex()"); ListIterator it = al.listIterator(); while(it.hasNext()) { Object obj = it.next(); System.out.print("当前元素为:"+obj+"下标为:"); System.out.println (it.nextIndex()+"\t"); //使用nextIndext获取下标 if(it.nextIndex()==0) { it.set("sahbi"); } } }
问题一:这个软件一定要装吗?我装了软件之后,这个不会弄!
问题二:必须要IE浏览器才可以吗?2345加速浏览器或者电脑自带的百度行不?
问题三:如果问题二中的两种浏览器可以的话,我没有找到视频中启动HttpWatch的启动方法。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637