关于Servlet那些你不得不知道的知识点

Servlet

看这篇文章之前,请先看我的上一篇博客https://blog.csdn.net/aljp123/article/details/109111619,因为我们将接着上一篇博客留下的疑问开始我们的学习之旅,如果准备好了,我们就开始去往Servlet海洋里遨游吧。

注解、Web.xml

我们通过上一篇博客已经对Servlet有了大致的了解,知道它的作用以及如何操作。可是有个问题值得深思,那就是我们的页面怎么发现我们的Servlet。通过什么方式找到它呢?我们知道有AJAX对吧,我们表单标签也可以,因为它们都有一个地址属性。问题来了,地址填什么,我们不可能填类名对吧,那么还能填什么呢?还是填地址,可是Servlet没有填地址的地方啊,那这个万分危急的时刻该怎么办呢?

没办法了,是时候把我们的web.xml请出来了。如果对xml文件还不了解的,可以去看我之前的博客。https://blog.csdn.net/aljp123/article/details/108298596。web.xml是配置文件,它有映射的功能,我们要填的Servlet地址可以填在这里,这样就实现了Servlet与页面界面的映射关系。大致流程如下:

请求
映射
页面
服务器
web.xml
Servlet

怎么样,web.xml很重要吧,好了,我想我们现在该关心的问题是怎么填Servlet地址。我现在把代码提供出来,供大家参考:

<servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>com.liuxie.LoginServlet</servlet-class>
</servlet>
    
<servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/*</url-pattern>
</servlet-mapping>



看标签名我们也大致能猜出写什么?name是填这个映射地址的名称,名称是可以随便填的,不过最好是见名知意一点。我们的class标签,是填我们的Servlet类的地址。然后再看映射标签<servlet-mapping>,记得一定要有/,这个代表我们的根目录,/*就代表根目录下的所有文件。就是说只要是这当前根目录下的页面访问的任何地址,只要是访问Servlet,都是可以请求这个类名是LoginServlet的Servlet。

我给的只是Web.xml的servlet配置的示例而已。/的后面是填*还是填其他的名称都是根据请求地址的名称而定。或者没有/也是可行的。用后缀为标识也可以。

除了web.xml,我们也可以用其他方式。比如注解。说到注解可能大家还不太懂。但是我们一定知道注释,注释是用来解释代码的,是给程序员看的。那注解呢?我们可以理解为是给程序看的。比如我们之前学继承的时候,子类继承父类,我们通常都要重写父类的方法对吧。那我们有没有发现,在方法上有@Override这个标识。这个标识就是注解,当我们方法上有这个注解,我们的这个子类才知道这个方法是重写父类的方法。好了,说到这里,我们就明白了。

那我们的映射Servlet的注解该怎么写?用@WebServlet()注解。要写在类的上面。关于@WebServlet的常用属性,我做个表格出来,供大家更好的参考:

属性说明
asyncSupported (boolean)指定Servlet是否支持异步操作模式
displayName (String)指定Servlet显示名称
initParams (webInitParam[])配置初始化参数
loadOnStartup(int)标记容器是否在应用启动时就加载这个Servlet,等价于配置文件中的标签
name(String)指定Servlet名称
urlPatterns/value(String[])这两个属性作用相同,指定Servlet处理的url

这些属性没必要全都要用,根据你自己的需求或情况而用。我觉得能经常用到的可能就是value属性了吧。

再回到我们的JavaWeb

Servlet只是我们的JavaWeb的一个小知识点,但很关键,所以我特地为它写了一篇博客。好了,Servlet就讲到这儿,现在我们从servlet开始跳脱出来,去看我们的JavaWeb。现在我们知道了如何用Java来写动态页面,但是我们还会有困惑,Java它是可以帮我们完成一些数据的逻辑存取。可是数据呢?数据在哪存?又在哪取?是不是有人想到了文件,然后又想到了集合。能想这一步很不错,关于文件和集合的使用可以看我这一篇博客:https://blog.csdn.net/aljp123/article/details/108179456
可是文件的话,是不可取的,因为它存放的数据杂乱无章。这个时候,我们的数据库重头大戏将要上映,下一篇博客请期待…

祝各位程序员节日快乐
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值