2017.8.22
- 写了一篇总结性的博客《【Maven 3.5】从下载到使用Eclipse创建Web项目 》;
- 解决了一个问题:浏览器输入URL后,get不到servlet资源,原因是java build path中class文件路径设置错误;
- Filter过滤器的一个练习调试成功;
2017.8.23
- 解压jetty后,cmd定位到%JETTY_HOME%\demo-base,执行
java -jar ../start.jar
浏览器输入输入网址\localhost:8080,并没有传说中的jetty页面出现,纠结了一上午,发现是浏览器中的协议http写成了https,囧~。改成http://localhost:8080,问题解决 - 曾经解压Tomcat后,配置好环境变量,cmd启动Tomcat后,浏览器输入http://localhost:8080,也是没有出现Tomcat页面,最后发现是Tomcat安装包下错了,囧~
2017.8.28
- 留下了一个问题:用jetty写一个嵌入式应用,用ServletContextHandler注册了一个Servlet,在Servlet里重定向到一个html页面可以成功,但是转发到一个html却不能成功,控制台和浏览器均报错:java.lang.StackOverflowError,不知道为什么:http://ask.csdn.net/questions/652945
- 学习java反射机制和注解
2017.8.29
- 对昨天第一个问题的结论:其实在Servlet里重定向到一个html页面,浏览器会显示404错误页面,昨天之所以重定向成功了,是因为先用ResourceHandler访问了这个html页面。实际上,jetty中访问静态页面似乎只能通过ResourceHandler;
- 继续研究这个问题,改用WebAppContext注册Servlet,发现在Servlet里既可以重定向、也可以转发至一个html页面,但是要注意路径的设置,否则我还是会报java.lang.StackOverflowError。
2017.8.30
- 用jetty写了新的webapp练习:在每个Servlet上添加自定义URL注解,启动jetty服务时通过解析注解的方式将所有Servlet注册进Sever服务中。浏览器输入URL后,由DispatcherFilter拦截该URL,并根据URL转发至对应的Servlet;
- 存在的问题:
– 1. 所有类,包括主函数类、DispatcherFilter类和所有Servlet类都在同一个包下,没有体现出MVC。拟采用的改进方式是:主函数单独放一个包,DispatcherFilter单独放一个包,所有Servlet单独放一个包;
– 2. 在注册所有Servlet入Server时,将现有Servlet放进数组进行遍历,这种方法可维护性较差。应该采用的方式是:将所有Servlet单独放到一个包下后,对该包进行扫描,以获取这些Servlet类。
2017.9.5
- 上述问题已经解决
- 学习公司项目代码
2017.9.6
- 发送数据包时可以用DataInputStream和DataOutputStream
- 建立socket连接:socket.connect(new InetSocketAddress(String host, int port), int timeout)
2017.9.7
- 学习JNDI和LADP
2017.9.14
- 学习Cookie与Session
2017.9.18
- 学习Spring依赖注入(构造函数依赖注入和setter依赖注入),写了个小例子。但是发现两个问题:
– 1.书上使用的XmlBeanFactory已经过期,查网知现在都用ClassPathXmlApplicationContext来读取xml文件
– 2.运行程序时报错:java.lang.IllegalArgumentException。解决办法(1)把jdk从1.8改成1.7(2)如果使用1.8的jdk,则要使用Spring4.x以上版本,亲测。 - 学习Spring的@Service注解,写了个小例子
2017.10.11
- 深入理解java中的String:http://www.cnblogs.com/xiaoxi/p/6036701.html
- 深入理解java内存模型:http://ifeve.com/java-memory-model-0/