java深入探究03

  1.Tomcat

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

  一:市面上的web服务器

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

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

    WebSphereIBM公司的产品。收费的。支持JavaEE规范

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

    Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servletjspjdbc,但 ejbrmi不支持)

  二:基本使用

    (一)下载并安装

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

        2)安装版:window exemsilinuxrmp 

          压缩版:windowrarziplinuxtartar.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 FilesJavajdk1.6.0_30  (注意别配置到bin目录下)

      2)端口占用的错误

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

        解决办法:

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

          b)修改tomcat软件所需端口

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

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

               connectionTimeout="20000"

               redirectPort="8443" />

      3CATALINA环境变量问题

        原因: 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包。其中还有技术支持包,如servletjsp

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

    |-temp: 临时目录

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

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

  四:Web应用的目录结构    

    |- WebRoot :   web应用的根目录

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

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

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

    |-web.xml    

    注意:

      1WEB-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());
    }
}
View Code

      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下的发布的项目移除

原文地址:https://www.cnblogs.com/xiaoping1993/p/day3.html