servlet快速入门

我们可以在src下面创建一个Java类,例如,如下所示

这就是一个普通的Java类,那么,如果想让它变成一个可以通过HTTP协议访问到的Java类,那么,该怎么办呢?这个类需要实现一个接口,这个接口叫做Servlet接口。

 

 

但是,现在我们发现它不让导这个包。出现这种不让导包的情况,是什么意思呢?就是没有jar包。你可以这样做,首先就是导入jar包,它现在缺少Servlet包,Tomcat中有这个包,

把这个jar包放到工程里面就可以了。

下面我们说另外的一种方式。先选中这个工程

 

它现在需要有一个servlet运行环境就可以了,Tomcat本身是有servlet环境的,以后遇到这种情况是不需要像上面那种做法去导包。

你如果要是在这里直接创建的工程,

 

就不会出现不能导servlet的问题。现在报错是因为在建的时候没有跟Tomcat集成。如果你现在再去创建一个新的工程,就不会出现这个问题了,之前报错是因为我先创建了WEB12这个工程,然后再集成了Tomcat,所以就出现了没有环境的问题,如果是先集成Tomcat然后再创建工程,那么就不会出现找不到包的情况了。

现在没有环境该怎么办呢?

 

 

我们发现这里没有Tomcat的运行环境,那么,我们要做的就是添加Tomcat

然后选择Server Runtime(服务器运行环境)

 

 

选中它,然后点完成,

 

发现这个时候就可以导入servlet包了。

 

因为Servlet是一个接口,我们要实现这个接口中未实现的接口方法。

 

目前我们先只关注service这个方法,service方法是专门提供向客户端提供响应的方法,我们之前写一个Java类,然后创建这个Java类的对象访问类中的成员是在本地完成的,我现在想要通过HTTP协议去访问这个MyFirstServlet类中的service方法。在service方法中写一句话,response是响应,request是请求,

 

ServletResponse是不带http的,HttpServletResponse是带http的,ServletResponse是父类,HttpServletResponse是子类,ServletResponse是什么协议都行,HttpServletResponse是使用http协议,是通过http协议访问,

 

HttpServletResponse中有一个getWriter方法

 

 

写“This is my first servlet!!!”,写给谁呢?基于请求和响应的知识点,谁请求,就写给谁。所以,在service方法中可以动态的拼HTML代码,当然这样写完之后还要配置一下,在WebContent目录下的WEB-INF目录下的web.xml文件中进行配置,这个web.xml是代表我这个WEB12应用的一个核心配置文件,

 

在这个文件中怎么配置呢?

 

 

这一步就是获得当前MyFirstServlet类的全路径名,

把当前MyFirstServlet类的全路径名放到这里。

这里的名字可以随便写。本例就写成MyFirstServlet

 

然后下面再写

其中,<url-pattern></urlpattern>代表你这个页面,就是HTTP协议在访问时,资源的虚拟路径,必须要以/开始。<url-pattern></urlpattern>中可以随便写,比如写/abc,这是一个假的名字,这样你写完之后,

将它重新发布

然后回到页面当中,你在WEB12这个web应用下面,我刚刚在这里配置的是资源

<servlet-class></servlet-class>叫动态资源,Java代码的形式,那么,我配置的<servlet-class></servlet-class>这个资源的虚拟的名称路径叫<url-pattern></urlpattern>中写的内容,本例叫做abc。

所以,在这里就直接写/abc,

然后直接回车

 

为什么叫动态资源?

你在这里的内容是写给客户端的,那么,我将一个HTML代码写到这里也是可以的。比如

用十句response.getWriter().write(),每一句写一行这个HTML代码,比如第一句response.getWriter().write(“<!DOCTYPE html>”)下面依次写,这样写后,显示的效果和静态index.html文件显示的效果一样。

这个时候可以就会有个疑问,一句一句的用语句输出写还没有直接写到静态文件中方便,但是,通过servlet写有个好处。

比如说,你登录了某个网站,在网站上会出现一句话,“欢迎您:您的名字”,如果要是Tom登录的,就写“欢迎您:Tom”,如果是Jam登录的,就写“欢迎您:Jam”,那么,这个名字是不能在HTML中写死的,

这时候,你如果用HTML来返回页面,名字是写死的,我们可以通过servlet写

我这里写的是Java代码,既然是写的Java代码,那么,在这里就可以jdbc操作,进行jdbc操作就可以从你的数据库获的一些动态数据,你把获得到的这些动态数据往这里一放,就可以达到动态的效果,动态页面就有了,这里说的动态就是这个意思。

在servlet接口中重点覆写service()方法,因为service()方法是默认对外提供访问的一个具体的方法,你只要把你想要执行的代码放到service()方法中,那么,我客户端只要一访问到这个资源,service()方法中的代码就执行了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值