1.Tomcat

  我们的浏览器其实就是一个Socket客户端能接受Socket服务端发来的消息

  一:市面上的web服务器

    javase的规范,包含IO流,线程,集合,socket编程。。。。

    WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。

    WebSphere: IBM公司的产品。收费的。支持JavaEE规范

    JBoss: Redhat公司的产品。收费的。支持JavaEE规范

    Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但 ejb, rmi不支持)

  二:基本使用

    (一)下载并安装

        1)下载:apache官网。www.apache.org     http://jakarta.apache.org(产品的主页)

        2)安装版:window (exe、msi) linux(rmp)

          压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用

        3)运行关闭Tomcat

          3.1 启动软件

            a)找到%tomcat%/bin/startup.bat ,双击这个文件

            b)弹出窗口,显示信息(不要关闭次窗口)

            c)打开浏览器,输出以下地址:http://localhost:8080

            d)看到一只猫画面,证明软件启动成功!

          3.3 关闭软件

          a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!

          b)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)

    (二)常见问题

      1)闪退问题

        原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。

        解决办法; 到环境变量中设置JAVA_HOME的变量

        JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30  (注意别配置到bin目录下)

      2)端口占用的错误

        原因: tomcat启动所需的端口被其他软件占用了!

        解决办法:

          a)关闭其他软件程序,释放所需端口

          b)修改tomcat软件所需端口

         找到并修改%tomcat%/conf/server.xml文件

<Connector port="8081" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

      3)CATALINA环境变量问题

        原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。

        解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!

      4)使用:将文件放在webapps文件夹下就可以了:http://localhost:8081/myweb/test.html

  三:目录结构

    |-bin: 存放tomcat的命令。

    catalina.bat 命令:

    startup.bat  -> catalina.bat start

    shutdown.bat - > catalina.bat stop

       |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。

    |-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp

    |-logs:运行过程的日志信息

    |-temp: 临时目录

    |-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)

    |-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

  四:Web应用的目录结构    

    |- WebRoot :   web应用的根目录

    |- 静态资源(html+css+js+image+vedio)
    |- WEB-INF : 固定写法。

    |-classes: (可选)固定写法。存放class字节码文件

    |-lib: (可选)固定写法。存放jar包文件。

    |-web.xml

    注意:

      1)WEB-INF目录里面的资源不能通过浏览器直接访问

      2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。

  五:手动开发动态资源

    Servlet:用java语音来编写动态开发技术

    Servlet特点:

      1)普通的java类继承HttpServlet类,覆盖doGet方法

      2)Serlet类只能交给tomcat服务器运行(开发者自己不能运行)

    步骤:

      1)编写一个servlet程序,继承HttpServlet

public class HelloServlet extends HttpServlet{

    @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//解决中文乱码问题
resp.setContentType("text/html;charset=utf-8");
//向浏览器输出内容
resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new Date());
}
}

      2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB—INF/classes目录下

      3)在当前web应用下的web.xml文件配置Servlet

    

<!-- 配置一个servlet程序 -->
<servlet>
<!-- servlet的内部名称 ,可以自定义-->
<servlet-name>HelloServlet</servlet-name>
<!-- servlet类名: 包名+简单类名-->
<servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class>
</servlet> <servlet-mapping>
<!-- servlet的内部名称,和上面的名称保持一致!!!-->
<servlet-name>HelloServlet</servlet-name>
<!-- servlet的访问名称: /名称 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>

   六:工具开发动态资源

    1)创建web project()

添加java应用的文件夹一般就是src不用改-》Context root->Content directory

建好后的Web Project

给eclicpse配置Tomcat

Window->Preferences->->Server->Runtime Environment-》添加想要的文件

将新建好的项目配置到Tomcat的webapps目录下

右键Tomcat Server->Open->Server Location选择第二个Use Tomcat installation修改Deploy path位置到webapps下就可以了

注意:如果Server Location是灰的看不了,就先将Server下的发布的项目移除

java深入探究03的更多相关文章

  1. Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. Java泛型解析(03):虚拟机运行泛型代码

    Java泛型解析(03):虚拟机运行泛型代码      Java虚拟机是不存在泛型类型对象的,全部的对象都属于普通类,甚至在泛型实现的早起版本号中,可以将使用泛型的程序编译为在1.0虚拟机上可以执行的 ...

  3. java io系列03之 ByteArrayOutputStream的简介,源码分析和示例(包括OutputStream)

    前面学习ByteArrayInputStream,了解了“输入流”.接下来,我们学习与ByteArrayInputStream相对应的输出流,即ByteArrayOutputStream.本章,我们会 ...

  4. JAVA自学作业03

    JAVA自学作业03 1.请用最有效率的方式计算2*8的结果 使用位运算是最有效率的. System.out.println(2<<3); 2.请交换两整数的值 int x = 10; i ...

  5. Java自动化测试框架-03 - TestNG之Test Group篇 - 我们一起组团打怪升级(详细教程)

    简介 其实这篇文章的group宏哥在上一篇中就提到过,但是就是举例一笔带过的,因此今天专门有一篇文章来讲解Group的相关知识.希望大家茅塞顿开 ,有着更进一步认识和了解测试组. 一.Test Gro ...

  6. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  7. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  8. 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结

    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...

  9. 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题

    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...

随机推荐

  1. 模拟和数字低通滤波器的MATLAB实现

    低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现. %%模拟滤波器 %巴特沃斯——滤波器设计 wp=2*pi*2 ...

  2. 堆排序算法的java实现

         堆积排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素.堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O ...

  3. NHibernate 组件基础 (第六篇)

    NHibernate 组件基础 (第六篇) 一.组件简介 组件(Component)可以理解为被一个对象所包含的对象而持久化,而并非一个实体.简单说来,假如数据库有FirstName,LastName ...

  4. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  5. MySQL视图概述

    1.介绍 在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表.在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C.D.F里面,为了实现平 ...

  6. RabbitMQ集群安装配置+HAproxy+Keepalived高可用

    RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...

  7. strpos 判断字符串是否存在

    strpos    中为什么要用逗号隔开的原因是因为   防止找出相匹配的中 ,  如   查找1    而数组中  存在  12  那么这个结果也是可以找出来的 ,分别在1 前后加个,  就是为了区 ...

  8. linux授权某个用户对某个目录有读写的权限

    针对特定的某一个用户设置文件或目录权限,用setfacl. 首先打开文件系统的acl功能,在挂载参数添加cal,再保存退出,比如/home分区: vim /etc/fstab /dev/sda2 /h ...

  9. linux 下配置jdk

    去java官方地址下载相应的源码包我下载的是1.8.0放在usr/local目录下 export JAVA_HOME=/usr/local/jdk1.8.0export PATH=$JAVA_HOME ...

  10. x-www-form-urlencoded名字的由来

    1 提交的是表单数据 所以用form. 2 提交的形式是以参数放在url后面的形式提交的 例如,以x1=y1&x2=y2&x3=y3的形式放在url后面的形式提交,所以是urlenco ...