Day46 Servlet-1 tomcat服务器以及web.xml

Servlet学习大纲:

Tomcat服务器中运行的是处理浏览器请求的代码。
实现技术:
Servlet
学习内容:
第一个Servlet程序
myEclipse集成Tomcat
Servlet的运行原理
web.xml讲解
Servlet的生命周期
Http协议
Request对象
Response对象
中文乱码问题解决
请求转发和重定向
Cookie和Session
ServletConfig和ServletContext对象

浏览器和服务器交互模式(B/S)

前端知识:
        使用HTML文档将数据进行有效的组织起来,然后使用css和js以及jQuery让文档可以更加的美观并和
    用户之间可以进行交互。
    问题:
        问题1:
              在本地编写好HTML文档后,使用浏览器直接打开。并且在编写时,HTML文档的数据是直接写死的。无法动态的变更。
        如果要改变数据,必须修改HTML源码
        要求:
            HTML文档应该存储在运行商的电脑中。HTML的中的数据需要动态的更新。    
        解决:
            使用浏览器和服务器交互模式(B/S模式)
            特点:
                URL:统一资源定位符
                HTTP:超文本传输协议
                HTML:超文本标记语言。
        使用:
            主流服务器:tomcat服务器。 web service等   
        开发工具:
            myEclipse           
        jdk版本:
            1.7版本
        数据库:

第一个Servlet程序

工具准备:

第一个Servlet程序:
    1 安装myeclipse开发工具
    2 安装Tomcat服务器
        验证安装:
            双加bin目录下的startup.bat文件,如果命令窗口正常显示则没有问题
            闪退问题解决:
                https://jingyan.baidu.com/article/9f7e7ec0be98b56f281554e9.html
    3 创建并运行第一个servlet程序
        1 在myeclipse中创建web project
            注意:选择级j2EE5.0 jdk版本选择1.7
        2 在src下创建包com.bjsxt.servlet
            在包下创建一个继承了HttpServlet的java类
            覆写service方法
            清空service方法中的内容。
            写:
                //告诉浏览器响应的内容格式
                resp.setContentType("text/html");
        //输出到浏览器
        resp.getWriter().write("<u>this is my first servlet.</u>");
        //输出到控制台
        System.out.println("这是我的第一个Servlet程序");
3 在webRoot下的web-inf文件夹下的web.xml中配置servlet
    <!-- 配置Servlet -->
    <!-- 配置servlet路径 -->
    <servlet>
        <servlet-name>first</servlet-name>
        <servlet-class>com.bjsxt.servlet.MyServlet</servlet-class>
    </servlet>
    <!--配置Servlet的访问路径-->
    <servlet-mapping>
        <servlet-name>first</servlet-name>
        <url-pattern>/f</url-pattern>
    </servlet-mapping>
4 在Tomcat的webapps目录下创建一个文件夹,名字为myFirst
    将myeclipse工作空间中刚才创建的项目的webRoot目录先的东西全部复制到此文件夹中
5 启动tomcat服务器
6 在浏览器中输入:http://localhost:8080/myFirst/f  访问即
------

知识点:

知识点:
    1  web poject目录结构介绍
        src:                存储java源代码的位置
        src和webRoot之间:  项目相关的jar包
        webRoot:            存储静态资源和jsp文件
        WEB-INF:            存储项目的编译文件和jar包的文件夹 以及web.xml配置文件
        lib文件夹:         存储项目导入的jar包的位置,例如 :jabc.jar2 tomcat目录结构介绍:
        bin目录:      tomcat服务器的程序入口 startup.bat
        conf目录:     存错了tomcat服务器启动所需的配置信息
                    主要的 server.xml和web.xml  
        lib目录:      tomcat自带的开发先关的jar包
        logs目录:     存储的是tomcat服务器运行期间相关的日志信息
        temp目录:     缓存目录
        webapps目录:  存储了tomcat服务器运行的web项目
        work目录:     存储的是jsp的编译文件
    3 tomcat和浏览器的交互流程:
        http://localhost:8080/a/f
        localhost:  服务器所在的电脑的ip地址,如果服务器和浏览器在同一台电脑写localhost即可。
        8080:   tomcat服务器的端口号

        a:      告诉服务器要请求的web项目。服务器会在webapps目录下查找一个叫“a”的文件夹或者压缩包(.war)
                如果找到了则继续执行,如果未找到则直接返回404给浏览器----(虚拟项目名)

        f:      要执行的servlet的别名。tomcat服务器会根据此别名查找项目下的web.xml文件。然后执行f映射的servlet文件。
                注意:
                    提升安全级别。方便程序员使用。



    注意:
        IP+端口号可以在网络中唯一的定位一个应用程序。但是因为难于记忆,所以
        使用网址的形式提供给普通用户。
    注意2:
        服务器开启后不要关闭。
    总结:
        最简单的servlet开发流程
            第一步
                创建一个继承了HttpServlet的java类,并覆写service方法。
                在service方法中书写业务处理代码
            第二步:
                在web.xml中配置servlet
            第三步:
                将写好的项目webRoot下的内容复制到tomcat下的webapps下的虚拟项目中
            第四步:
                    启动服务器,访问即可。
                    url格式:IP:端口号/虚拟项目名/servlet别名?请求数据

myeclipse集成tomcat

Myeclipse集成Tomcat:
    1. myEclipse集成Tomcat
        https://jingyan.baidu.com/article/2a13832898c497074a134fdc.html
    2.myEclipese项目部署(冷部署)
        https://jingyan.baidu.com/article/a65957f4894faf24e67f9bbe.html
        注意:
                    选择的项目部署到服务器成功后,默认在tomcat的webapps目录下
                新建文件夹的名字为myeclipse的项目名
        注意2:
            在myeclipse中保存代码的时候会重新编译并重新复制到tomcat中

    3发布
        在myeclipse的servers窗口中选择集成好的tomcat然后点击启动按钮即可。
        注意:
            如果servlet文件发生了更改,需要重新启动tomcat服务器才能看到效果。
            tomcat真正执行的servlet文件是从虚拟项目中加载到内存中的文件。
    4 自定义部署项目名:
        选中要部署的项目单击右键选择properties--->myEclipse-->project Facts-->web-->更改 web-Root的内容(注意保留/)
        然后部署项目即可。

Sevlet的web.xml配置学习

Servlet的web.xml配置文件学习:
    web.xml文件的作用:
        tomcat会调用此文件用来进行查找要执行的Servlet。
    使用:
        第一种配置方式:
            <servlet>
            <servlet-name>my</servlet-name>
            <servlet-class>com.bjsxt.servlet.MyServlet</servlet-class>
            </servlet>
            <servlet-mapping>
            <servlet-name>my</servlet-name>
            <url-pattern>/m</url-pattern>
            </servlet-mapping>
            作用:给servlet配置一个专门的别名,不能通用,访问此servlet必须通过此别名。
        第二种配置方式:
            <servlet>
            <servlet-name>my2</servlet-name>
            <servlet-class>com.bjsxt.servlet.MyServlet2</servlet-class>
            </servlet>
            <servlet-mapping>
            <servlet-name>my2</servlet-name>
            <url-pattern>*.do</url-pattern>
            </servlet-mapping>
            作用:给servlet配置一个通配性较高的servlet,格式 *.do
        第三种配置方式:
            <servlet>
                <servlet-name>my3</servlet-name>
                <servlet-class>com.bjsxt.servlet.MyServlet3</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>my3</servlet-name>
                <url-pattern>/a/*</url-pattern>
            </servlet-mapping>  
            作用:给servlet配置一个按照模块访问的url-pattern
    web.xml的加载时机:
            服务器启动的时候即完成所有部署的项目的web.xml的加载。
    注意:
        1. url-pattern不可以重复,一个url-pattern只能对应一个servlet。
        否则服务器启动报错:Caused by: java.lang.IllegalArgumentException: The servlets named [my] and [my2] are both mapped to the url-pattern [/m] which is not permitted
        2  一个Servlet可以对象好几个url-pattern

Servlet的生命周期

Servlet的生命周期:
    1 复写init()方法:
        init()方法只会被执行一次,Servlet第一次被调用的时候执行
        先于service()方法执行
    2 复写destory()方法:
        此方法在服务器关闭的时候会执行,说明Servlet是服务器关闭的时候才被销毁的。

Servlet的生命周期1:
    从第一次调用到服务器关闭。
Servlet的生命周期2:
    如果在web.xml中配置了<load-on-startup>1</load-on-startup>,生命周期从服务器开启到服务器关闭

小结

浏览器和服务器交互模式
第一个Servlet程序
myeclipse集成tomcat
Sevlet的web.xml配置学习
Servlet的生命周期

小知识点:

servlet  tomcat 
1.tomcat:
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
2.从servlet开始,使用myeclipse2014  tomcat   MySQL   navicat
3.使用Jdk1.7
4.myeclipse->project->clean…到底有什么用:
其实主要作用就是把编译好的class等文件删除,激活eclipse的自动编译。
解决的问题就是,有时候你把代码改了,但因为一些未知的原因,eclipse的自动编译没有成功,导致运行结果不正常。
当你的工程出现一些莫名其妙的错误时(当然不是语法错误),用一下这个功能,效果不错的
5.因为安装了oracle XE 版本,其中有一个服务占用了8080端口,所以把OracleServiceXE、OracleXETNSListener服务禁用并关闭,若用oracle 11g 企业版 就不会出现这个问题。
6.xml是处理虚拟目录的别名和真正的包的全限定路径之间的映射关系。让自己的web项目安全
7//告诉浏览器响应的内容格式
      res.setContentType("text/html;charset=utf-8");
8、servlet:
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Servlet 的命名可以看出 sun 命名的特点,如 Applet 表示小应用程序;Scriptlet = Script + Applet,表示小脚本程序;同样 Servlet = Service + Applet,表示小服务程序。

9、静态网页与动态网页:

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值