开发部署一个简单的Servlet

开发部署一个简单的Servlet

Servlet是一个执行在服务器端的Java

Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet

Engline路径下。Servlet API使用javax.servlet和javax.servlet.http两个包的接口类。

Servlet的最大的缺点是不能有效地管理页面的逻辑部分和页面的输出部分,导致Servlet代码非常混乱,而用JSP和JavaBean/Servlet结合可以有效地管理页面的逻辑部分和页面的输出部分。

当服务器上的一个JSP网页被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,再将这个Java文件编译成class字节码文件(即Servlet类),然后执行以响应客户的请求,当这个JSP页面再次被请求执行时,JSP引擎将直接执行这个字节码文件来响应客户,响应速度比第一次执行快很多。

两者可以互相调用,一般Servlet较多应用于业务逻辑(页面HTML输出不多或没有),而JSP偏重于数据展现,同一份数据可以用不同形式的视图来展现。

5. 开发部署一个简单的Servlet

这里以Tomcat5作为应用服务器,它是Apache+Servlet/JSP容器。先介绍一下Tomcat的目录结构,然后讲解如何添加一个应用,并部署一个简单的Servlet。

1)Tomcat 的主要目录结构

① /bin: 存放Tomcat服务器的可执行文件和运行用的Jar包。

② /conf :存放Tomcat服务器的各种配置文件,其中最重要的是server.xml。

③ /server :包含3个子目录classes、lib和webapps。

④ /common/lib 存放Tomcat服务器以及所有Web应用都可以访问的JAR。

⑤ /logs:存放了Tomcat的日志文件。

⑥ /webapps:当发布Web应用时,默认情况下把Web应用文件放于此目录下。

⑦ /work:Tomcat把由JSP生成的Servlet放于此目录下。

其中server.xml是用于整个Web服务器的,可以配置Web服务器的端口、应用目录、应用的入口、用户访问安全等信息。

2)Web应用的目录结构

Web应用有固定的结构,在/webapps目录下创建一个目录myapp。则这个Web应用的目录结构如下:

① /myapp:Web应用的根目录,所有的JSP和Html文件都存放在该目录下。

② /myapp/WEB-INF:存放Web应用的描述文件web.xml。

③ /myapp/WEB-INF/classes:存放各种class文件,servlet类文件也存放与该目录下。

④ /myapp/WEB-INF/lib:存放Web应用所需的各种JAR文件。如可以存放JDBC驱动程序的JAR文件。

3)配置文件web.xml

Java Web 应用通过一个基于XML的发布描述文件来配置其发布信息。Web.xml文件中可包含的配置信息有:

① Servlet的定义;

② Servlet的初始化参数;

③ Servlet以及JSP的映射;

④ 安全域配置参数;

⑤ 资源引用;

⑥ 环境变量的定义。

配置文件web.xml可以自己编写,也可以从其他应用(如Root、JSP-examples、servlets-examples等)目录下拷贝过来修改。

4)部署Servlet文件的步骤

① 编写Servlet并编译成class文件,编译时,将servlet-api.jar文件(在/common/lib 目录下)加入到classpath中;

② 将编译好的class文件拷贝到应用的WEB-INF/classes/下(如/myapp/WEB-INF/classes/);

③ 在web.xml中进行配置 ,具体可参见下面的web.xml。

这里以一简单的Servlet为例,实现Servlet的开发和部署。

文件 HelloServlet.java

import java.io.*;

import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

}

编译成功后,将HelloServlet.class拷贝到/myapp/WEB-INF/classes/下,然后修改web.xml。

配置文件 web.xml。

JSP和Servlet

然后在浏览器中运行http://localhost:8080/ch2/servlet/HelloServle

你可能也喜欢

03丨性能综述:怎么理解TPS、QPS、RT、吞吐量这些性能指标?
率土之滨有哪些国号
365bet皇冠体

率土之滨有哪些国号

📅 06-29 👀 853
探访泰国vivo(vivo在泰国市场的表现和用户评价全面解析)
《王者荣耀》信誉积分怎么申诉恢复 信誉积分申诉恢复方法
一女子控诉按摩时遭性侵,泰店家:将手指插入女性下体,是服务的一部分
fgo星阵营从者有哪些?fgo全部星阵营从者一览!
365体育网址备用

fgo星阵营从者有哪些?fgo全部星阵营从者一览!

📅 07-16 👀 9395
饱受争议的金庸《侠客行》,为什么没人敢翻拍
BIM技术 | BIM怎么算量?BIM在工程成本估算中的应用?-BIM专题
预售 【中商原版】梅西传记书 Messi 2023更新版 阿根廷 更新至2022年世界杯夺冠 英文原版 吉列姆巴拉格 Guillem Balague