通信模块)。
3, b/s客户端不再需要单独安装了。
1、什么是servlet?
sun公司制订的一种用来扩展web服务器功能的组件
规范。
(1)扩展web服务器功能:
早期的一些web服务器(比如,apache web server)
只能够处理静态资源的请求(即需要事先将html
文件写好,并保存在web服务器上),不能够处理动态
资源的请求(即需要进行相应的计算,生成相应的页面)。
早期使用cgi程序来扩展:
cgi:common gateway interface,可以使用perl,
c等语言来开发符合cgi规范的程序,web服务器收
到请求之后,如果需要计算,则会调用cgi程序来
处理。
servlet是一种更好的技术(相对于cgi),用来扩展
web服务器的功能,即当web服务器收到请求之后,
可以调用servlet来处理。
(2)组件规范
a.组件是什么?
是符合一定规范,实现了部分功能的软件模块,
组件需要部署到相应的容器里面才能运行。
b,容器是什么?
是符合一定规范,提供组件运行环境的程序。
servlet是一个组件,需要部署到servlet容器上
才能运行。
2、安装tomcat
step1,解压
将/opt/apache-tomcat-5.5.23.tar.gz解压到
/home/soft01下。
注:tomcat的安装压缩文件可以从
www.apache.org下载。
step2,配置环境变量
JAVA_HOME: jdk的安装路径。
step3,启动tomcat
cd /home/soft01/apache-tomcat-5.5.23
cd bin
sh startup.sh (或者用 sh catalina.sh run)
接下来,打开浏览器,输入
http://localhost:8080
关闭tomcat使用 sh shutdown.sh
3、如何写一个servlet?
step1,写一个java类,要实现Servlet接口或者继承
HttpServlet抽象类。
step2,编译。
step3,打包。
创建一个符合如下结构的文件夹:
appname (应用名)
WEB-INF
classes(放字节码文件)
lib(可选,放.jar文件)
web.xml(部署描述文件)
注:一般在开发完成之后,交付给用户去使用时,
会使用jar命令将以上文件夹压缩成一个以".war"
为后缀的文件。
step4,部署
将step3创建好的文件夹或者压缩文件(.war文件)
拷贝到servlet容器指定的文件夹下面(比如,
拷贝到tomcat的webapps文件夹)。
step5,访问
http://ip:port/appname/servlet-url
servlet-url在web.xml文件当中有相应的配置。
4、使用myeclipse来写一个servlet
step1,让myeclipse来管理tomcat。
step2,创建一个web工程
5、servlet如何运行的?
比如,在浏览器地址栏输入
http://ip:port/web01/hello?name=sally
示例代码:
package web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
//依据参数名获得参数值
String name = request.getParameter("name");
//生成一个消息头(content-type),告诉
//浏览器,服务器返回的数据类型。
response.setContentType("text/html");
//获得一个输出流
PrintWriter out = response.getWriter();
//输出
out.println("<h1>Hello " + name + "</h1>");
//关闭流
out.close();
}
}
web.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>helloServlet</servlet-name>
<!-- 类名要包含包名,并注意大小写 -->
<servlet-class>web.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
配置服务器,启动服务器(myeclipse 自带tomcat)
在浏览器中输入地址栏
http://localhost:8080/web01/hello?name=zhaojun
即可看到helloworld级别的第一个网页