Servlet开发入门(二)

来源:互联网 发布:连云港开创网络 编辑:程序博客网 时间:2024/04/28 00:33

原始出处:http://zhaoyuqiang.blog.51cto.com/6328846/1147951

知道了Servlet的作用后,我们来看一个Servlet的程序运行实例,为什么要看运行实例呢?因为要想成功运行一个Servlet程序,需要配置一些文件。


Servlet程序的编写



开发一个可以处理的HTTP请求的Servlet程序,肯定是要继承HttpServlet类而且在自定义中Servlet类中至少还要覆写HttpServlet类中提供的doGet()方法,方法如下

  1. public void doGet(HttpServletRequest req,HttpServletResponse resp)  
  2.                throws ServletException,IOException 

从此方法中不难看出,此方法可以使用request和response对象。

理解不了不要担心,我们来以一个实例说明一下,从Hello World说起。

在Myeclipse中创建项目test然后创建Servlet,在包底下创建Servlet_01.java如下图所示:


建好项目后不要急着写代码,我们还要导入一个jar包----Servlet-api.jar,这是Servlet的jar包,这个包需要去网上下载

将jar包导入Myeclipse中的lib文件中

然后编写Servlet_01.java的代码,如下:

  1. Servlet_01.java  
  2. package Servlet;  
  3. import java.io.*;  
  4. import javax.servlet.ServletException;  
  5. import javax.servlet.http.*;  
  6. public class Servlet_01 extends HttpServlet{  
  7.     public void doGet(HttpServletRequest req,HttpServletResponse resp)  
  8.                throws ServletException,IOException{  //覆写doGet()方法  
  9.         PrintWriter out=resp.getWriter(); //准备输出  
  10.         out.println("<html>");  
  11.         out.println("<head><title>WEB开发</title></head>");  
  12.         out.println("<body>");  
  13.         out.println("<h1>Hello World</h1>");  
  14.         out.println("</body>");  
  15.         out.println("</html>");  
  16.         out.close();//关闭输出  
  17.     }  
  18. }  

    此代码中继承了HttpServlet,然后重写了doGer()方法,本程序首先从HttpServletResponse对象中取得一个输出流对象,然后通过打印输出HTML元素。

    在代码中request变成了req,response变成了resp,虽然名称变化了,但是其操作的功能是一样的,并没有变化

    大家可以看到,HTML的代码都是用out.println("<>")来输出的,这样很麻烦对吧,所以就是为了避免Servlet编程的这样麻烦,JSP才出世了,JSP就是为了输出方便才被广发应用的。也就是说JSP在一定程度上就是Servlet,Servlet要比JSP早。

    一个Servlet程序就编写好了,但是现在还没有办法访问和执行,因为我们得需要配置一些东西来支持Servlet的运行。


Servlet程序运行的前提配置操作



   虽然一个Servlet已经正常的开发完成了,但是现在此Servlet并不能被外部所访问,因为还缺少了另一个配置,这个配置就是映射的配置。即:每一个Servlet都必须通过web.xml文件进行映射的路径指定。这个web.xml在tomcat/webapps/test项目名称/WEB-INF/web.xml,用记事本打开,在<web-app></web -app>之间的随意某个地方写上如下代码:

  1. <servlet> 
  2.      <servlet-name>Servlet</servlet-name>        
  3.   <servlet-class>Servlet.Servlet_01</servlet-class> 
  4. </servlet> 
  5. <servlet-mapping> 
  6.      <servlet-name>Servlet</servlet-name> 
  7.   <url-pattern>/Servlet/Servlet_01</url-pattern> 
  8. </servlet-mapping> 

如下图所示:


  

   ervlet-name 可以自己命名,但是两个servlet-name必须一致。

     servlet-class   为路径,就是包.类 的名称。

     url-pattern   为虚拟路径,访问的时候就通过这个路径进行访问,这个路径是自己命名的。

     整个命名中,只有servlet-class 中的内容是固定的,取决于自己包的名称和.java的名称,其他的都是自己命名的,但是自己命名的要自己记住。


运行操作

     修改完web.xml之后需要重启tomcat服务器,(注意:只要web.xml中的内容有变化,就必须重新启动服务器)如果没有错误的话,我们就可以在浏览器中输入:http://localhost:8080/项目名称/web.xml中配置的url-pattern的名称,在我们的这个项目中如下:http://localhost:8080/test/Servlet/Servlet_01

  

运行后如下图所示:


  

   此操作中,有三点是必须得注意的:                
   1.   web.xml中的配置一定要配置正确了,尤其是路径classpath是包名称    +类名称。在<url-pattern>中是在浏览器中写入的内容。                       
   2. 运行的时候在浏览器中输入的地址是 <url-pattern>中自己写的内容,比如在web.xml中的url-pattern>中写的是/A,那么在地址栏中输入的就是:
http://localhost:8080/test/A
.
   3. 一定要注意覆写的方法,以及Servlet代码的写法。 





0 0