tomcat服务器

web开发入门

回顾软件结构分类

            C/S: 客户端与服务器端
            特点: 
                    1)需要安装特定的客户端
                    2)服务器程序升级,那么客户端程序同步升级
            B/S: 浏览器与服务器端   
            特点:
                    1) 不需要安装特定的客户端(只需要一个浏览器软件)  
                    2)  服务器程序升级,客户端程序不需要升级。

            结论:进入web开发之后,软件结构从C/S 过渡到 B/S
                java web开发就是基于B/S结构软件。

服务器

        从物理上来说,服务器就是一台PC机器。通常配置比较高。CPU 4核,内存8G以上,硬盘T

        web服务器:在PC机器上,安装了web服务软件,提供web服务
        数据库服务器:在PC机器上,安装了数据库软件(mysql/oracle/sql server),提供了数据存储的服务
        邮件服务器:在PC机器上,安装了收发邮件服务软件,提供了收发邮件的功能
                    收邮件服务器:pop3.126.com 
                    发邮件服务器:stmp.126.com 

web服务软件原理

            web服务软件作用:把本地的资源公开给外部访问。

            javaweb: B/S   浏览器- >web服务软件
/**
 * socket服务器端程序
 *  1)把本地资源读取
 *  2)发送给不同的客户端
 * @author APPle
 *
 */
public class SocketServer {

    public static void main(String[] args) throws Exception{
        //1.创建ServerSocket
        ServerSocket server = new ServerSocket(8888);

        System.out.println("服务器已经启动....");

        while(true){
            //2.接收客户端的请求
            Socket socket = server.accept();

            //3.读取本地的文件
            File file = new File("e:/myweb/test.html");

            FileInputStream fis = new FileInputStream(file);

            //4.构建数据发送通道
            OutputStream out = socket.getOutputStream();

            //5.开始发送数据
            byte[] buf = new byte[1024];
            int len = 0;
            while( (len=fis.read(buf))!=-1 ){
                out.write(buf, 0, len);
            }   
            //6.关闭资源
            fis.close();
            out.close();
        }
    }
}

常用的市面上web服务软件

            web服务软件 , 也可以说成是web服务器   

            WebLogic: 是BEA公司的产品。支持JavaEE规范。收费的。
                        javaSE规范:支持 IO流,集合,网络编程,线程技术
                        javaEE规范: 支持13种技术。servlet、jsp、ejb、jdbc

            WebSphere: 是IBM公司的产品。支持JavaEE规范。收费的。解决方案
                        WebSphere -> IBM操作系统(aix)- IBM服务器PC - IBM数据库(DB2)
            JBoss: 是Redhat公司的产品。支持JavaEE规范。linux。软件免费开源的。服务收费的。
            Tomcat: 是 Apache开源组织的产品。支持servlet/jsp规范(不支持ejb)。开源免费的
                        tomcat用在中小应用。

            web开发基础阶段重点使用tomcat服务器

Tomcat服务器

基本操作

            1)去apache官网。www.apache.org . tomcat的产品页面: http://jakarta.apache.org
            2)tomcat不同的安装包
                    安装版本:  window(exe  msi)      linux(rmp)
                    压缩版本:   不分window和linux (zip 、 tar 、rar) 学习时使用

启动和关闭

                1)启动
                a)找到%tomcat%/bin/startup.bat,双击,弹出一个窗口停止不动。
                b)确认窗口上显示没有任何错误,然后打开浏览器输入:
                        http://localhost:8080

                        看到一只猫,证明tomcat服务器启动成功!!!

                2)关闭
                找到%tomcat%/bin/shutdown.bat,双击。

体验tomcat服务器作用

            tomcat服务器作用:把本地资源公开给外部访问

            webapps: 把需要公开访问的文件放到该目录        

URL

            URL: 统一资源定位符。用于定位基于http协议的资源。

            浏览器:  http://localhost:8080/myweb/test.html

            http:// : 协议,http协议
                        执行流程: 在本地找hosts文件,如果找不到,联网找网络运营商的DNS服务器
            localhost   域名。
                        localhost: 本地域名
                        www.baidu.com: 外地域名
            8080      定位具体的一个软件。
                        tomcat: 8080
                        mysql:3306
                        oracle: 1521 
            myweb  : web应用的根目录。
            test.html:  web资源

        练习: 
        1)把tomcat服务器启动
        2)在webapps建立  myweb目录,编写一个html文件
        3)互相通过浏览器访问(URL)

tomcat服务器常见问题

        1)闪退
        原因: 在tomcat服务器启动时(运行startup命令),在本地环境变量中查找一个叫JAVA_HOME的环境变量。(tomcat用java开发,需要用jvm运行)
        解决办法: 在本地环境变量中添加一个JAVA_HOME
            JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 

        2)端口占用问题
    原因: tomcat服务器启动所需端口被其他软件所占用
    解决办法:
            1)把占用端口的软件停止掉(进程杀死)
            2)改变tomcat服务器启动端口
            找到%tomcat%/conf/server.xml
<Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
        3)CATALINA_HOME环境变量
    原因: tomcat在启动后会通过CATALINA_HOME环境变量加装tomcat的根目录下的文件(例如conf、webapps)
        解决办法:建议不要设置CATALINA_HOME环境变量

        注意:安装版的tomcat会自动设置CATALINA_HOME环境变量设

Tomcat服务器目录结构

    |-bin: 目录。存放tomcat操作命令。bat是window版本,sh是linux版本。
                    startup.bat : 后台在调用catalina.bat start
                    shutdown.bat  : 后台在调用catalina.bat stop
    |-conf: 目录。存在tomcat服务器软件的配置文件。server.xml文件是核心配置文件。
    |-lib:目录。支撑tomcat软件运行的jar包。
    |-logs:目录。存在tomcat服务器运行过程中日志信息。
    |-temp: 目录。tomct的临时目录,存在临时文件。
    |-webapps: 目录。存在web应用的目录
    |-work: 目录。tomcat运行目录。存放jsp页面运行过程中产生的临时文件。

web应用目录结构(规范)

    |- WebRoot: 根目录。一个web应用必须有一个根目录。
            |- 静态资源:  html+css+javascript+images+xml
            |-WEB-INF: 目录。名称是固定写法。
                |-classes: (可选) 目录。名称是固定写法。存放class字节码
                |-lib: (可选)目录。名称是固定写法。存放jar包。不能有子目录,全部jar包放在根目录下。
                |-web.xml: 文件。web应用的配置文件。

        注意:
                1)不做任何配置的情况下,WEB-INF目录下的文件不能直接通过浏览器访问。
                2)在web.xml文件中进行配置,那么WEB-INF目录下的内容就可以被外部访问到!!!

web应用部署三种方法

        1)直接把web应用拷贝到webapps目录下
            默认web应用:ROOT是默认应用。访问默认应用,不需要web应用名称。
            默认资源:访问默认资源,不需要web资源名称。
                在web.xml文件中配置
    <!-- 默认资源-->
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>test.html</welcome-file>
        <welcome-file>abc.html</welcome-file>
    </welcome-file-list>
        问题:tomcat软件和web应用绑定在一起。
        解决办法: 把tomcat软件和web应用分离!!!使用到虚拟web应用(虚拟网站)
        2)虚拟网站配置
            在%tomcat%/conf/server.xml文件中修改:
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">         
 <!--配置虚拟网站
            docBase: web应用所在的绝对路径位置。
            path: 访问web应用使用的名称。名称可以自定义
            -->
            <Context docBase="C:\projects\myweb" path="/itcast"/>
</Host>
        注意:
            如果path为空字符串,那么也不需要名称访问该web应用,而且优先于ROOT应用。
        问题:修改了server.xml核心配置文件,风险比较高。
        解决办法: 添加配置文件方法配置虚拟网站。
        3)添加配置文件方法配置虚拟网站(推荐使用)
        在%tomcat%/conf/Catalina/localhost目录下,添加abc.xml文件
<?xml version="1.0" encoding="utf-8"?>
<!-- 配置虚拟网站
    访问web应用名称就是xml的文件名abc
-->
<Context docBase="C:\projects\myweb"/>

Tomcat的站点配置

    站点的配置:

<!--- 配置一个新的站点: www.baidu.com 
        name: 站点的名称
        appBase:站点的根目录
      -->
      <Host name="www.baidu.com"  appBase="C:\baidu"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

      </Host>
            2)修改本地域名和ip的映射文件hosts文件,加上
                 127.0.0.1       www.baidu.com
            3)启动tomcat,访问测试
            在浏览器访问:
                默认站点: 
                        http://localhost:8080
                新站点:
                        http://www.baidu.com:8080/news/index.html

练习: 在本地tomcat服务器上配置一个新浪站点。域名: www.sina.com.cn

7手动开发动态资源

静态资源 vs 动态资源

    静态资源: html+css+javascript
    动态资源: servlet+jsp

        静态资源: 当用户多次访问该资源时,资源的源代码永远不会发送改变的资源。
        动态资源: 当用户多次访问该资源时,资源的源代码可能会发生改变的资源。

开发动态资源技术

        Servlet技术: 用java语言开发动态资源的技术

        Servlet技术特点:
                1)Servlet是普通的java类,继承HttpServlet类,覆盖doGet方法
                2)Servlet程序必须由tomcat服务器运行!!!

        开发servlet的步骤:

            1)编写servlet程序,继承HttpServlet
/**
 * 第一个servlet程序
 * @author APPle
 *
 */
public class HelloServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        //向浏览器输出内容
        resp.getWriter().write("this is first servlet!!!"+new Date());
    }

}
            2)把servlet交给tomcat服务器运行!!!
              2.1 把class字节码文件拷贝到web应用的WEB-INF/classes目录下

              2.2 在web应用的web.xml文件配置servlet     
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5">

    <!--配置一个servlet -->
    <servlet>
        <!-- servet的内部名称。可以自定义-->
        <servlet-name>HelloServlet</servlet-name>
        <!--- servlet程序的全名:包名+简单类名 -->
        <servlet-class>gz.itcast.b_servlet.HelloServlet</servlet-class>
    </servlet>

    <!-- servlet的映射配置-->
    <servlet-mapping>
        <!--servet的内部名称,和上面内部名称保持一致!!! -->  
        <servlet-name>HelloServlet</servlet-name>
        <!-- servlet映射路径: 表示在浏览器上访问该servlet程序的名称。该名称可以自定义 -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
        3)浏览器访问servlet:
            http://localhost:8080/myweb/hello

使用工具开发动态资源

        1)创建一个web proejct
        2)在WebRoot下编写静态资源文件(html+css+javascript)
        3)在src目录下编写servlet动态资源
                使用servlet代码生成器:
                    a)右键src- > new -> 点击”servlet“
                    b)servlet的包,类名,指定覆盖的方法(doGet)
                    c)next-> servlet内部名称(不用改)-> url (访问servlet名称,可以改) -> finished
                点击finished之后,生成servlet的代码和web.xml的配置信息
        4)关联tomcat服务器
                a)window-> preferences- > MyEcplise->servers-> Tomcat6.X
                b)选择tomcat的根目录,然后enable。
        5)部署项目
        6)启动tomcat,访问测试
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。它是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。实际上,Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。Tomcat服务器具有处理HTML页面的功能,同时也是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。你可以在Tomcat的官网(http://tomcat.apache.org/)下载对应版本的zip包进行安装,然后解压到指定目录即可。Tomcat服务器的目录结构包括bin、conf、lib、logs、temp、webapps和work等目录,其中存放了Tomcat服务器的配置文件、运行时的临时文件、日志文件以及Web应用的文件等。在eclipse中配置Tomcat运行环境可以通过选择Window -> Preferences -> Server -> Runtime Environments,然后添加Tomcat服务器并选择相应的Tomcat版本和安装目录来完成配置。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Tomcat服务器](https://blog.csdn.net/qq1912238134/article/details/106951305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux安装部署Tomcat服务器](https://blog.csdn.net/qq_44424791/article/details/102732007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值