开发一个动态web资源,即开发一个Java程序向浏览器输出数据,需要完成以下2个步骤:
1.编写一个Java类,实现Servlet接口
开发一个动态web资源必须实现javax.servlet.Servlet接口,Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定
以下是MyServlet.java文件中的代码(写的这个类的名字叫做MyServlet):
packageorg.MyServlet.MyServlet;importjava.io.IOException;importjavax.servlet.Servlet;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;//开发一个动态web资源必须实现javax.servlet.Servlet接口//Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定//Q:MyServlet完成了一个动态网页程序,或者说是一个功能,如何让客户端能否准确得找到我们得这个Servlet服务//A:服务器需要预先为我们预留出扩展接口,我们只需要按照一定的规则去提供相应的扩展功能//Q:如何和服务器进行通讯//A:web.xml就是服务器提供给我们的完成功能的地方
public class MyServlet implementsServlet{
@Overridepublic voiddestroy() {//TODO Auto-generated method stub
}
@OverridepublicServletConfig getServletConfig() {//TODO Auto-generated method stub
return null;
}
@OverridepublicString getServletInfo() {//TODO Auto-generated method stub
return null;
}
@Overridepublic void init(ServletConfig arg0) throwsServletException {//TODO Auto-generated method stub
}//所有客户端请求会自动调用Service方法进行处理//ServletRequest 是一个对象,封装所有HTTP请求信息//ServletResponse 是一个对象,封装所有HTTP响应信息//这两个对象是Tomcat服务器给我们的
@Overridepublic voidservice(ServletRequest arg0, ServletResponse arg1)throwsServletException, IOException {//TODO Auto-generated method stub
System.out.println("执行 MyServlet 的 service() 方法。。。。。");
}
}
关于其中的Service方法的一些Tip:
//所有客户端请求会自动调用Service方法进行处理
//ServletRequest是一个对象,封装所有HTTP请求信息
//ServletResponse是一个对象,封装所有HTTP响应信息
//这两个对象是Tomcat服务器给我们的
此外,如果是只实现service方法,则称为适配器模式
以下是web.xml文件中的代码:
MyServlet
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
//定义一个Servlet服务
//Servlet服务的名字叫做aaa
aaa
org.MyServlet.MyServlet.MyServlet
//定义一个Servlet服务的映射关系
//Servlet服务的名字叫做aaa
//请求的路径是/myServlet.do
//1.服务器启动模式加载webapps下面所有的应用,加载web应用的时候会读取每个应用的web。xml文件
//2.客户单发送请求http://127.0.0.1:8080/MyServlet/myServlet.do
//3.请求就找到http://127.0.0.1:8080,找到MyServlet(Context)
//去mapping里面查找/myServlet.do,如果找到,定位到aaa
//4.去Servlet的定义里面查找Servlet-name是aaa的Servlet服务
//然后定位到org.MyServlet.MyServlet.MyServlet,执行该class的service方法
aaa
/myServlet.do
然后在浏览器中输入http://127.0.0.1:8080/MyServlet/myServlet.do
便可以在Tomcat中看到
执行 MyServlet 的 service() 方法。。。。。
2.把开发好的Java类部署到web服务器中