JavaWeb中的servlet与Tomcat

1.1 servlet简介

Servlet就是sun公司开发动态web的一门技术

Sun在这些API中提供了一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个步骤:

  1. 编写一个类,实现Servlet接口

  2. 把开发好的Java类部署到web服务器中

    把实现了Servlet接口的Java程序叫做——Servlet

1.2 HelloServlet

servlet接口sun公司有两个默认的实现类

1.构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个里面建立module;这个空的工程就是Maven的主工程

2.关于Maven父子工程的理解: 父项目中会有:

    <modules>
        <module>servlet-01</module>
    </modules>

子项目会有:

   <parent>
        <artifactId>javaweb-02-servlet</artifactId>
        <groupId>com.xqk</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

父项目中的java子项目可以直接使用

son extends father

3.Maven环境优化

        1.修改web.xml为最新的

        2.将maven的结构搭建完善

        4.编写一个Servlet类

                1.编写一个 普通类

                2.实现Servlet接口,这里我们直接继承HttpServlet

public class HelloServlet extends HttpServlet {    //由于get或者post只是|请求实现的不同方式,可以互相调用,业务逻辑都是一样的    
    @Override    
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
    {
        //        ServletOutputStream outputStream = resp.getOutputStream();        
        PrintWriter writer = resp.getWriter();//响应流       
        writer.print("Hello,Servlet");    }    
    @Override    
    protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException ,IOException
    {        
        super.doPost(req,resp);    
    }
}

5.编写Servlet的映射

为什么需要映射?——我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径。

web.xml配置

<servlet>  
    <servlet-name>hello</servlet-name> 
    <servlet-class>com.xqk.servlet.HelloServlet</servlet-class>
</servlet>
​
<servlet-mapping>  
    <servlet-name>hello</servlet-name>  
    <url-pattern>hello</url-pattern>
</servlet-mapping>

6.配置tomcat

注意:配置项目发布的路径

7.测试

点击启动,会出现target文件包

 

启动之后弹出网页

 

1.3 Servlet原理

Servlet是由web服务器调用,web服务器

 

1.4 mapping问题

1.一个Servlet可以指定一个映射路径

<servlet-mapping>  
    <servlet-name>hello</servlet-name> 
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

2.一个Servlet可以指定多个映射路径

3.一个Servlet可以指定通用映射路径

4.默认请求路径

5.指定一些后缀或则前缀等等...

<!--  可以自定义后缀 实现请求映射      
      注意点.*前面不能加项目路径-->  
<servlet-mapping>    
    <servlet-name>hello</servlet-name>    
    <url-pattern>/hello/*</url-pattern>
    <!--    /*是通配符 你写啥都行-->
</servlet-mapping>

6.优先级问题

制定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求;

<!--  404-->  
<servlet>    
    <servlet-name>error</servlet-name>    
    <servlet-class>com.xqk.servlet.ErrorServlet</servlet-class>  
</servlet>    
​
<servlet-mapping>    
    <servlet-name>error</servlet-name>    
    <url-pattern>/*</url-pattern>  
</servlet-mapping>

1.5 ServletContext

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用“

共享数据

我在这个servlet中保存的数据,可以在另一个servlet中拿到。

2 Tomcat

2.1 JavaWeb的有关概念

什么是Javaweb?

javaweb是指,所有通过Java语言编写的,可以通过浏览器访问的程序的总称。叫做JavaWeb。

JavaWeb是基于请求与相应来开发的。

什么是请求?

请求是指而客户端给服务器发送数据,叫请求Request。

什么是响应?

响应是指服务器给客户端回传数据,叫响应Response。

请求和响应的关系

请求和响应式成对出现的,有请求就有响应。

 

2.2Web资源的分类

web资源按实现技术和呈现效果的不同,分为静态资源和动态资源两种。

静态资源:html、css、js、txt、mp4视频、jpg图片

动态资源:jsp页面、servlet程序

 

2.3常用的Web服务器

Tomcat:由apache组织提供的一种web服务器。提供对jsp和Servlet的支持。是一种轻量级的JavaWeb容器(服务器),也是应用最广的服务器(免费)。

2.4Tomcat服务器与Servlet版本的对应关系

 

Servlet程序从2.5版本开始是现在市面上使用最多的版本(xml配置)

以Servlet2.5版本为例。

2.5Tomcat的使用

1.安装 找到压缩包,解压到需要的目录。

2.目录介绍

bin 专门用来存放Tomcat服务器的可执行程序

conf 专门用来存放Tomcat服务器的配置文件

lib 专门用来存在Tomcat服务器的jar包

logs 专门用来存在Tomcat服务器运行时输出的日记信息

temp 专门用来存在Tomcat运行时产生的临时数据

webapps 专门用来存在部署的web工程

work 是Tomcat工作时的目录,用来存在Tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录。

3.如何启动Tomcat服务器

Tomcat bin目录下的startup.bat文件,双击,即可启动Tomcat服务器。

也可以用cmd命令行一步一步进入到bin目录下个startup.bat

 

出现这个界面就启动成功了

4.tomcat的停止

找到Tomcat的bin目录下用shutdown.bat双击,就可以停止Tomcat服务器。

5.修改tomcat端口号

 

HTTP协议默认的端口号是:80

6.如何部署web工程到tomcat中

第一种部署方法:

只需要把web工程的目录拷贝到tomcat的webapps目录下即可。

一.在webapps目录下创建一个book工程

 

二.把项目内容拷贝进去

 

三.如何访问tomcat下的web工程?

 

第二种部署方法:

找到tomcat下的conf目录\Catalina\localhost\下创建如下配置文件

 

 

7.手托html页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别

 

8.root的工程的访问,以及默认index.html页面的访问

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值