JavaWeb开发入门

一、Web开发的相关知识

1. WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

2. Internet上供外界访问的web资源分为:

  • 静态web资源(如HTML页面):指web页面中供人们浏览的数据始终是不变。
  • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

3. 静态web资源开发技术

  • HTML
  • CSS
  • JavaScript

4. 常用动态web资源开发技术:

  • JSP/Servlet
  • ASP
  • PHP

二、WEB服务器

学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。

ServerSocket server = new ServerSocket(9999);

Socket socket = server.accept();

OutputStream out = socket.getOutputStream();

InputStream in = new FileInputStream("/Users/xie/Documents/a.html");

int i = 0;

byte b[] = new byte[1024];

while((i=in.read(b))!=-1){

       out.write(b,0,i);

}

in.close();

out.close();

三、常见WEB服务器

1. WebLogic是BEA公司的产品,是目前应用最广泛的WEB服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求。

2. 另外一个常用的Web服务器是IBM公司的WebSphereAS,支持JavaEE规范。

3. 大名鼎鼎的红帽的产品,原来属于开源组织JBossAS,后被红帽收购。支持JavaEE规范,免费。

4. 在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的web服务器:Tomcat,该服务器支持全部JSP以及servlet规范。

四、Tomcat简介

1. Tomcat是在Sun公司推出的小型servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。目前是Apache开源软件组织的一个软件项目,它的官方网址为http://tomcat.apache.org。得到了广大开源代码志愿者的大力支持,且可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业Javaweb应用的最佳servlet容器选择之一。

2. 我们后面的Javaweb学习都是基于Tomcat服务器的。

五、Tomcat服务器

1. Tomcat官方站点:http://tomcat.apache.org

2. 获取Tomcat安装程序包

tar.gz文件是Linux操作系统下的安装版本

exe文件是Windows系统下的安装版本

zip文件是Windows系统下的压缩版本

六、Tomcat启动方式

  • 使用Tomcat服务程序(安装版)
  • 使用Tomcat程序组中的快捷菜单(安装版)
  • 使用Tomcat.exe程序(安装版)
  • 使用批处理程序(解压版)

七、Tomcat服务器

  • 双击bin目录下的startup.bat文件
  • 输入http://localhost:8080/,显示正确界面代表安装成功。

八、常见启动问题

Java_Home环境变量:

  • 在windows中设置java_home环境变量
  • 只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。

端口占用问题(更改默认端口)

Catalina_Home环境变量的设置问题

九、Tomcat目录结构

bin:存放启动和关闭Tomcat的脚本文件

conf:存放Tomcat服务器的各种配置文件

lib:存放Tomcat服务器的支撑jar包

logs:存放Tomcat的日志文件

temp:存放Tomcat运行时产生的临时文件

webapps:web应用所在目录,即供外界访问的web资源的存放目录

work:Tomcat的工作目录

十、Javaweb应用程序

1. web应用程序指供浏览器访问的程序,通常也称为web应用。

2. 一个web应用由多个静态web资源和动态web资源组成,如:

  • HTML、CSS、js文件
  • JSP文件、java程序、支持jar包
  • 配置文件
  • ……

3. web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。

4.打war包:jar -cvf myapp.war .

十一、JavaWeb应用的组成结构

开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。

十二、Web组件URL

无论是开放式目录结构还是打包文件方式发布web应用,web应用的默认URL入口都是web应用的根目录名。例如要访问MyApp应用,它的URL入口为/MyApp,如访问本地服务http://localhost:8080/MyApp(http://127.0.0.1:8080/MyApp)

十三、Tomcat的组成结构

Tomcat本身由一系列可配置的组件构成,其中核心组件是servlet容器组件,它是所有其他Tomcat组件的顶层容器。每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。以下用XML的形式展示了各种Tomcat组件之间的关系。

十四、Tomcat体系架构

十五、虚拟目录的映射方式

在server.xml文件的host元素中配置,例如:

<Host name="localhost" appBase="webapps"

           unpackWARs="true" autoDeploy="true"

           xmlValidation="false" xmlNamespaceAware="false">

    <context path="/it" docBase="/Users/xie/Documents/apps"/>

</Host>

在Context元素中"/it"为虚拟目录名称,"/Users/xie/Documents/apps"为web应用所在目录

在Tomcat6中,不再建议在server.xml文件中配置context元素,细节查看Tomcat服务器关于context元素的说明。

让Tomcat自动映射:Tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,Tomcat服务器webapps目录中的web应用,外界可以直接访问。

十六、Context元素

Tomcat6.x提供了多种配置<Context>元素的途径。当其加载一个web应用时,会依次按照以下五种方式尝试查找web应用的<Context>元素,直到找到为止。

1. 到Tomcat安装目录/conf/context.xml文件中查找<Context>元素。

2. 到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素

    [enginename]:表示<Engine>的name属性

    [hostname]:表示<Host>的name属性

3. 到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。

    [contextpath]:表示单个web应用的URL入口

4. 到web应用的META-INF/context.xml文件中查找<Context>元素。

5. 到Tomcat安装目录/conf/server.xml文件中查找<Context>元素。只适用于单个Web应用。

如果仅仅为单个web应用配置<Context>元素,可以优先采用第三种配置方式。

十七、Context元素的属性

十八、web.xml文件

通过web.xml文件,可以将web应用中的:

  • 某个web资源配置为网站首页
  • 将servlet程序映射到某个URL地址上
  • ……
  • 但凡涉及到对web资源进行配置,都需要通过web.xml文件

注意:web.xml文件必须放在web应用\WEB-INF目录下。

十九、配置虚拟主机

  • 假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为两家公司分别创建一个虚拟主机
  • 尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问web应用时,会感觉到这两个应用分别拥有独立的主机。
  • 如果需要在web服务器中配置一个网站,需要使用Host元素进行配置,例如:<Host name="site1" appBase="C:\app"></Host>
  • 配置的主机(网站)要想被外部访问,必须在DNS服务器或Windows系统中注册。
  • 配置多个网站
  • 缺省虚拟主机

二十、WEB开发的前景

软件开发的两种架构:c/s 和 b/s

猜你喜欢

转载自blog.csdn.net/Ada_yangyang/article/details/81505919
今日推荐