tomcat容器

tomcat的配置

①、修改默认端口号:在tomcat安装目录下找到conf/server.xml文件,修改connector标签中的port属性即可,一般修改为80,因为80端口在浏览器访问时可以默认不写

②、配置web应用的主页,在web.xml中添加<welcome-file-list><welcome-file>1.html</welcome-file></welcome-file-list>

③、配置虚拟主机 在conf/server.xml中 server/service/Engine标签内部添加host标签并配置name和appBase属性,appBase是可选属性,用来指定当前主机默认管理的目录。配置完后,需要在DNS服务器中配置主机名和ip地址的映射关系,一般DNS服务器不能修改,可通过hosts文件进行模拟

④、端口占用问题,可以使用shutdown.bat命令关闭服务器,如果还不行,在cmd窗口中,通过netstat -ano命令 查看占用80端口的进程,根据id找到进程,再通过taskkill /pid 进程id   就可以杀死指定进程

需要注意的是:虚拟主机不能直接管理web资源,web-Inf是web应用中的特殊目录,这个目录可以没有,一旦有,必须符合一定的,目录结构,而且放在这个目录中的资源将被保护起来,通过浏览器不能直接访问

servlet 

servlet是由sun公司提供的动态web资源开发技术,本质上是一段必须放在Servlet容器中,由容器调用才能执行的java程序。

初识Servlet,可以由记事本开发一个Servlet程序。

步骤如下:

一、创建一个FirstServlet.java文件,在里面像写java程序一样编写FirstServlet类(注意类名必须与该记事本的名字一样)。在该类中实现Servlet接口或者继承Servlet接口的子类,实现service方法,并抛出异常。在方法中写你想输出的东西 比如:response.getWriter().write("time="+new Date() );当然,还需要像写java程序一样在头上写上你的包名package***和进行导包操作。

二、接下来打开你的cmd窗口,编译一下你的FirstServlet类,步骤如下:打开cmd窗口  cd 切换到你的类所在路径,

输入命令如下:

第一步:设置包路径(servlet-api.jar所在路径) set  classpath=e:\software\tomcat7.0\lib\servlet-api.jar

第二步:编译该类   javac  -d   FirstServlet.java

三、把编译好的class文件(包括包路径)放在web应用的classes目录下

四、找到web.xml配置文件,配置servlet对外访问的虚拟路径.   即:(注:两个标签中的servlet-name必须相同)

        <servlet>

          <servlet-name>名字</servlet-name>

          <servlet-class>类路径</servlet-class>

        </servlet>

        <servlet-mapping>

          <servlet-name>名字</servlet-name>

          <url-pattern>/访问路径</url-pattern>

        </servlet-mapping>

 

servlet继承结构

  servlet接口-通用的servlet接口,提供了一个servlet应该具有的功能

      |------GenericServlet类:实现了servlet接口,提供其中大部分的方法,但是没有实现service方法,需要开发人员自己实现

          |------HttpServlet类,继承GenericServlet,实现service方法,判断请求方式,根据不同请求方式调用不同的do..方法

               |------自己定义一个类,继承HttpServlet,覆盖doGet和doPost方法,处理请求。

Servlet生命周期                 

Servlet在第一次被访问时,tomact服务器就创建了Servlet实例, 创建之后服务器会立即调用init方法进行初始化的操作, 创建之后, Servlet实例会一直驻留在服务器的内存中, 为后续的请求服务. 只要有请求来访问这个Servlet, 服务器就会调用service方法来处理请求, 直到服务器关闭, 或者WEB应用被移出容器, 随着WEB应用的销毁, Servlet实例也会跟着销毁, 在销毁之前服务器会调用destroy方法进行善后的处理.

在web.xml中配置servlet虚拟路径

1、直接写路径

2、用星号匹配符配置一个路径①以斜杠/开头,以斜杠星结尾 ②以星点后缀的形式(哪一个更接近,更精准,哪个起作用)*.后缀优先级永远最低。