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. 安装 redis [standlone模式]

    下载redis版本:https://redis.io/download           我下载的是:redis-3.0.6 下载后,在linux上      tar -zxvf redis-3.0 ...

  2. hdu - 5033 - Building(单调栈)

    题意:N 幢楼排成一列(1<=N<=10^5),各楼有横坐标 xi(1<=xi<=10^7) 以及高度 hi(1<=hi<=10^7),在各楼之间的Q个位置(1&l ...

  3. mapreduce中reduce中的迭代器只能调用一次。其实迭代器就只能调用一次

    亲测,只能调用一次,如果想想在一次reduce重复使用迭代器中的数据,得先取出来放在list中然后在从list中取出来!!多次读取reduce函数中迭代器的数据 public static void ...

  4. 【Mac系统 + Mysql】之安装Mysql数据库

    安装Mysql步骤: 一.下载 参考文章<mac 安装MySQL> 到Mysql官网下载.dmg格式的文件 先放弃了,看下面的简易安装. 二.使用homebrew安装MySQL(推荐) 如 ...

  5. saltstack之文件管理

    1.managed文件管理 /srv/salt/file/managed.sls /tmp/hyxc: file.managed: - source: - salt://files/hyxc - sa ...

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

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

  7. PHP-Manual的学习----【序言】

    2017年6月27日16:57:32 学习资料:2015-PHP-Manual 打好坚实的基础是做任何事的前提 序言: 笔记: 1.PHP,即"PHP: Hypertext Preproce ...

  8. Lumen开发:phpunit单元测试

    先来直接运行,cmd先进入根目录,然后进入tests或是test文件夹 运行命令行:..\vendor\bin\phpunit ExampleTest.php laravel/lumen中集成了PHP ...

  9. linux下apache php配置redis

    1.安装redis 第一步: 下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz 上传phpredis-2.2.4.tar.gz ...

  10. Linux下的目录操作

    . 此层目录 .. 上层目录 - 前一个工作目录 ~ 当前用户的工作目录 ~account 表示account的家目录 1.cd:改变目录,change Directory的缩写. 2.pwd:显示当 ...