Servlet学习(一)部署servlet

来源:互联网 发布:淘宝购物车有什么用 编辑:程序博客网 时间:2024/06/05 02:42

servlet是运行在任何服务器端的小程序,不仅包括web服务器,还包括email服务器,ftp服务器,http服务器等。


API:

javax servlet API :http://tomcat.apache.org/tomcat-5.5-doc/servletapi/

实现:

如Tomcat,即在tomcat安装目录下lib里的servlet-api.jar

如servlet API中,通用servlet类GenericServlet,子类HttpServlet广泛使用


所有的servlet,都必须实现Servlet这个接口。(javax.servlet.Interface Servlet)

--------------------------------------------------------------------------------------------------------------------------

1. 使用HttpServlet实例

在项目文件夹下的WEB-INF文件下的web.xml配置文件中,配置对应的servlet。

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><span style="color:#ff0000;"><servlet><servlet-name>HW</servlet-name><servlet-class>HelloWorldServlet</servlet-class></servlet><servlet-mapping><servlet-name>HW</servlet-name><url-pattern>/HelloWorldServlet</url-pattern></servlet-mapping></span></web-app>
这样,在容器中注册了名字(任意自取)为HW的servlet,而且建立了HelloWorldServlet类与url的映射关系,访问此url时,就会调用此类。

注意:url为/HelloWorldServlet是相对于项目根路径(http://127.0.0.1:8080/项目名)的相对路径。

类HelloWorldServlet如下

public class HelloWorldServlet extends HttpServlet{//什么时候调用doGet方法?当提交的表单form里的属性时get时//请求对象request:封装了客户端给服务器端的请求信息。(往request对象里写了什么,客户端告诉了服务器端什么)//相应对象response:封装了服务器端给客户端的相应信息。(往response对象里写了什么,服务器端就给了客户端什么)@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("doGet");}}
因此,打开http://127.0.0.1:8080/testServlet/HelloWorldServlet时,通过映射关系,调用HelloWorldServlet类中的doGet方法,
后台打印“doGet”成功。


现在通过response对象从服务器端网客户端写东西。

public class HelloWorldServlet extends HttpServlet{//什么时候调用doGet方法?当提交的表单form里的属性时get时//请求对象request:封装了客户端给服务器端的请求信息。(往request对象里写了什么,客户端告诉了服务器端什么)//相应对象response:封装了服务器端给客户端的相应信息。(往response对象里写了什么,服务器端就给了客户端什么)@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println("doGet");response.getWriter().write("<a href='http://www.bjsxt.com'>go</a>");}}
重启tomcat后,页面显示链接go。成功。

这里注意一点:谁是服务器端?Tomcat。 谁是客户端? 我们的页面。所以后台打印语句输出在tomcat的命令行界面,而response输出在我们的页面/HelloWorldServlet.

0 0
原创粉丝点击