Eclipse中使用Servlet

在Eclipse中使用Servlet来充当jsp的数据处理是非常方便的,但是在eclipse中使用servlet会遇到一些问题,下面就来一一解决。


1.资源目录存放问题


在eclipse中一键创建servlet文件是非常方便的,但是应该注意servlet的路径,eclipse对于java资源都是进行统一存放的,一律放在Java Resources里面,初始化工程时,会提示你存放资源的根目录,默认是src当然你也可以自己修改。


那么如何建立一个servlet容器呢?其实很简单,直接右键工程-NEW-servlet就可以了。在新建servlet的时候,eclipse会提示你选择或者新建一个包用来存放servlet,这一项操作建议必须进行,因为这样会非常清晰的显示出servlet的组织结构,不会与其他组件混在一起,建议servlet包的命名要见名知义,不要起没有实际含义的名字,比如说ABC,123456,fjkd这些名字,可以起servlet_XXX这样的名字,方便自己去识别包的类型。


2.新建servlet时的默认设置


在用eclipse新建servlet容器时,在其默认生成的文件中会有这么一句话,(J是我起的servlet容器名字,),@WebServlet("/xxx"),这一句是什么意思呢?




在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。换句话说,如果你不想在web.xml中配置servlet信息,那么你就可以在@WebServlet注解中修改它的属性。

下面是@WebServlet的属性列表。


属性名 类型 描述
name String 指定Servlet 的 name 属性,等价于 。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPatterns String[] 指定一组 Servlet 的 URL 匹配模式。等价于标签。
loadOnStartup int 指定 Servlet 的加载顺序,等价于 标签。
initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于标签。
asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于 标签。
description String 该 Servlet 的描述信息,等价于 标签。
displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 标签。


下面是具体的例子:




注意:如果已经配置了web.xml中的servlet容器信息,你的servlet文件中依然有这句代码,那么你的服务器解释程序会报错的。



3.web.xml的配置


注意:这一步不是必须的,如果你已经配置了@WebServlet中配置了信息,那么请不要进行这步操作。


元素是配置Servlet所用的元素。

元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet。


具体的配置如下:


  ServletName   
  xxxpackage.xxxServlet   
                                       
    参数名称              

    参数值              
  



  ServletName               
  /aaa/xxx                   


缺省Servlet


1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。


2.凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。


3.在\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。


当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。





你可能感兴趣的:(Eclipse中使用Servlet)