JavaWeb 的servlet工作原理

重点内容 **实际上java中的servlet只是一段java的程序,我们可以将这段程序放入到servlet容器中运行,而servlet容器其实就是我们常常说的中间件,例如tomcat
这里说明一下Tomcat是由Apache开源组织开发的仅仅支持J2EE的jsp和sevlet功能,一般的小型项目已经够用适合初学者。
JBoss是开发者共同努力的结果,支持十几项功能,核心功能是EJB,但不支持JSP和Servlet.
平常还经常使用jetty也是一个轻量级的中间件。
言归正转,我们来说servlet,sun公司在开发servlet的时候定义了servlet接口,这就规范了实现,必须实现其定义的方法。
所以说写servlet实际就两步:
1.实现servlet接口
2.放到tomcat中进行配值
实现servlet可以通过查API文档来学习
现在有很多工具eclipse,简化了配值,现在我们来自己配值一下。**
1.实现servlet接口

       package cn.bipt;//定义包名
       import  java.io.*;
       import  javax.servlet.*;
       //自定义个类
       public class FirstServlet extents  GenericServlet{
                  public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
                      //输出到浏览器
                      res.getWriter().write("hello servlet!!!");
          }
       }
  1. servlet在实例化之后首先调用init方法一次,完成成功后调用service
    ServletResponse 可以实现简单的输出一句话到浏览器。

    2.实现servlet的配值

    首先资源文件一定是 class文件,我们先编译cmd ,进入java文件目录,使用javac 编译,但是现在servlet属于j2ee的技术,编译前需要配值下j2ee的jar包,这个包在tomcat中有,servlet_api,jar
    javac -d . FirstServlet.java
    -d . 是带包编译的意思
    这里就完成了生成资源文件的工作,剩下的就是放到tomcat下
    这是Tomcat文件夹的含义
    我们的项目放在webapps下
    写过java项目都知道它具有一定的格式,我们可以copy下其他项目下的文件夹


    建好类似的空文件夹把刚才的文件放入classes文件夹中,
    下面剩下的就是配web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    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_3_0.xsd">
   <servlet>
    <servlet-name>FirstServlet</servlet-name>
    <servlet-class>cn.bipt.FirstServlet</servlet-class>
    </servlet>
    //这里配值servlet类文件的实际路径

  <servlet-mapping>
    <servlet-name>FirstServlet</servlet-name>
    <url-pattern>/servlet/FirstServlet</url-pattern>
  </servlet-mapping>
  //这里是映射路径,虚拟路径,浏览器要访问的路径
</web-app>
  **
  1. 完成后启动startup.bat,启动tomcat,完成资源文件的加载,这时我们就能通过浏览器访问了。
    http://localhost/Webs/servlet/FirstServlet
    localhost是资源ip地址,这里是本机,Webs项目名,后面是映射地址,端口号在conf中默认配值为80所以省略。
    现在我们来追踪下 http://localhost/Webs/servlet/FirstServlet
    首先IE访问windows内的host文件,查询主机名对应的ip,当host查不到是访问dns服务器,现在由于在本机测试,在host中可以查到,tomcat的端口在conf中的servlet中可以配值,ie浏览器连接上tomcat,tomcat根据地址中的资源名,找到资源文件news,然后加载web.xml文件,通过虚拟地址servlet-mapping,与实际地址的资源对应访问实际资源cn.bipt.FirstServlet,而实际资源文件FirstServlet,通过servlet实现对浏览器的输出。tomcat将资源回送给ie.
    ie完成对资源的输出。

**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值