设为首页收藏本站在线充值

中原工学院论坛

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1073|回复: 0

【教学视频】《Java应该这么学》第一节

[复制链接]

111

主题

568

帖子

5

积分

新手上路

以陌生为名

Rank: 3Rank: 3Rank: 3

积分
5

新人进步奖

发表于 2011-8-16 16:38:54 | 显示全部楼层 |阅读模式

马上注册,享用更多功能!灵感论坛,推动创造力的社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

http://player.youku.com/player.php/sid/XNzY2MjIxMzI=/v.swf
清晰版下载:http://www.verycd.com/topics/2800166/
高清版下载:暂不提供



注意:《Java应该这么学》前面的若干节课程会无条件观看,也就是任何如鹏网会员都可以观看,但是一段时间后,《Java应该这么学》将提高门槛,必须使用“鹏币”才可以下载清晰版视频教程,否则只能观看在线版的视频教程。“鹏币”可以通过推荐他人注册、访问如鹏网,发精品贴、购买等方式获得,详细请查看此贴:
http://www.rupeng.com/forum/thread-382-1-1.html
http://www.rupeng.com/forum/thread-1101-1-1.html


板书:

相当一部分时间不会讲太多Web方面的东西,只是把它当成一个展示界面而已。
为什么不用AWT、Swing, Eclipse下没有合适的可视化设计工具。咱们把主要精力放到后端更有差异性的逻辑上,比如JDBC数据库访问、XML解析、Java中反射/面向对象/设计模式等高级特性、Java流、文件处理、网络编程、多线程、数据结构(链表、散列、树、堆栈)算法、编译原理等上,而不是界面上。
将要安排的项目:自己动手写在线Eclipse、自己动手写SQL查询分析器、自己动手写论坛、自己动手写Struts。
为什么不直接上来就学Struts?为了尽可能的不变成代码工人。我在培训机构兼职,遇到很多学生上来Servlet没学过、JSP没学过,上来就学Struts,JDBC没学过、SQL没学过,上来就学Hibernate,只会用Struts、Hibernate这些工具模仿着实现一些固定的功能,一旦涉及到深层次的问题,就一脸茫然。咱们如鹏是避免大家成为代码工人,所以会把很多精力放到这些基础的东西上,可能人家学Struts一天就能做出来很酷的东西,也许你学这些基础的东西一个月也达不到他的效果,但是记住越是容易得到的越不值钱,等到他把Struts玩儿的很熟的时候你已经能自己动手写Struts了,谁能够进入更高档次的高位、拿更多的工资就不言而喻了。

第一个Web程序:
用到的Jar下载
http://down1.rupeng.com/download/software/java/jettylib1.zip

搭建第一个Web工程
1、
创建一个Java工程,工程下创建一个文件夹lib
2、
将jettylib1.zip解压到lib目录下,回到Eclipse刷新一下lib目录
3、
在工程MyfirstWeb1上点击右键,选择Property,在打开的对话框中选择JavaBuildPath,切换到Libraries页,点击【Add Jars】,选择所有刚才解压的jar文件。
4、
以后给大家提供一些jar包,大家模仿上面的步骤添加就可以。以前没学过加第三方jar。(第三方提供的扩展Java类库的类库,简化开发)
5、
在src下新建【package】名字是“com.rupeng”
6、
在“com.rupeng”上创建Class“StartServer”
7、
添加入口类:

package com.rupeng;

import org.mortbay.http.SocketListener;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHttpContext;

public class StartServer
{

public static void main(String[] args)

{

Server server = new Server();
                  

try

{

SocketListener listener = new SocketListener();

listener.setPort(80);

server.addListener(listener);

ServletHttpContext context = (ServletHttpContext)server.addContext("/");

server.start();

} catch (Exception e)

{

e.printStackTrace();

}

}
}
所有的Servlet都从HttpServlet继承。

添加从HttpServlet继承的Servlet
实现doGet方法
将Servlet添加到Context中
context.addServlet("/test/*", "com.rupeng.TestServlet");
表示用户请求test这个地址的时候由TestServlet来处理,而TestServlet则是doGet方法来处理。
doGet方法中req表示请求、resp表示回应
启动,养成以Debug方式启动的好习惯。

Debug As方式启动的好处:可以设置断点;可以实现代码热替换(每次改完代码以后立即生效,不用重启程序!!!!!!!!!!!!!!!)
Servlet是什么?提供Web显示服务的类。
StartServer是一个包工头,遇到任务的时候会把任务分发给合适的Servlet,所以Servlet就是干活的。
遇到test请求的时候由TestServlet来处理。
处理请求的还是方法,doGet方法来处理
Request:接受任务;Response:把任务完成返回
System.out.println();是向控制台输出
resp.getOutputStream().println("你好");是向浏览器输出

可能遇到的错误:
Address already in use: JVM_Bind]
端口被占用

再添加一个长工“HelloServlet”,为什么不重启不行?热替换的前提条件之一是:代码被执行以后才会热替换,只有干活的时候哦热替换才起作用。
StartServer中main的代码只会执行一次,所以必须重启。

打开:http://127.0.0.1:8080/test
127.0.0.1什么意思?本机地址。

JSP和Servlet的关系是什么。JSP会被编译成Servlet。JSP是C语言、Servlet是汇编语言。Struts是不用写代码的自动生成C语言代码的代码生成器。又学到了一通百通的东西了。
上档次了!弄明白底层,工资非常高!!!

人家不都是开发JavaWeb程序用Tomcat吗?咱们怎么没用?Tomcat只是JavaWeb服务器的一种,JavaWeb服务器就是一个放置Servlet的服务器,Servlet只是一个普通类,用户来了由JAvaWeb服务器来调用Servlet,所以JavaWeb服务器是包工头,StartServer就是一个小型的Tomcat。用Tomcat的话会花在很多时间在环境配置上,也许配置一个礼拜了都运行不起来,很打击自信心,所以我的指导原则是5分钟之内就要能跑起来,所以我采用Jetty来代替Tomcat,具体原理大家现在不用关心,等时机成熟的时候我会像教大家怎样用10分钟从C-Free一通百通到VC一样用10分钟教大家从Jetty一通百通到Tomcat。

下一节课讲表单提交数据到Servlet,对HTML不熟悉的同学请看如鹏网的《自己动手写网站》的视频教程。必须达到手写HTML的水平《自己动手写网站》。

QQ|小黑屋|手机版|Archiver|中原工学院论坛 ( 豫ICP备11003946号 ) 百度统计

GMT+8, 2024-11-6 09:33 , Processed in 0.101925 second(s), 30 queries .

© 2010-2017 中原工学院团委 | 中工灵感论坛

请将您的想法告诉我们,帮助我们改进服务 请将您的想法告诉我们,帮助我们改进服务

快速回复 返回顶部 返回列表