servlet调用js_第三十天JavaWeb-Servlet入门

javaWeb-Servlet

什么是Servlet?

Servlet(Servlet Applet) 是Java Servlet的简称,称为小服务程序或者服务连接器,用Java编写的服务器端程序,主要功能在于交互式的浏览和修改数据,生成动态Web内容。

侠义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java应用服务器中。从原理上讲,Servlet可以影响任何类型的请求,但绝大多数情况下Servlet只用来拓展基于HTTP协议的Web服务器。

Servlet架构,在软件里面位置如下:

636c3d44d2e67be5d900eb9564acd8f4.png

Tomcat: 很多人用过Tomcat,但是不甚其解,市场上已有许多Web服务器支持Servlet,Tomcat是其中应用的最多的一款。 Apache Tomcat 是一款 Java Servlet 和 JavaServer Pages 技术的开源软件实现,可以作为测试 Servlet 的独立服务器,而且可以集成到 Apache Web 服务器。

这里不做赘述,关于Tomcat具体可见:http://tomcat.apache.org/

生命周期:

f3e5c0b566907dace775212b836d2afb.png

925ca9ade8dc6c1442f73904531c38c5.png

方法说明:

init(): 一开始创建,只创建一次,可以简单地创建或加载一些数据,这些数据将被用于Servlet的整个生命周期。

public void init() throws ServletException {
     System.out.println("servlet初始化");
}

Service():这一层不用管,只需要重写doGet和doPost方法

service()方法检查HTTP请求类型(GET、POST、PUT、DELETE等),并在适当的时候调用doGet、doPost、doPut、doDelete等方法。 下面是doGet方法和doPost方法

//根据传入的参数来执行响应操作
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("处理get请求方式");
 }

 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("处理post请求方式");
 }

destory():

destory()方法和init()方法一样,被调用一样,在Servlet生命周期结束是被调用。您的Servlet关闭数据库连接、停止后台线程、把Cookie列表或点击计数器写入到磁盘,并执行其它类似的清理活动。在调用的destory()方法之后,servlet对象被标记为垃圾回收。

Servlet部署:

这里是很关键的位置,因为你每写完一个Servlet都需要在配置文件里面部署一下,记住过程当让很简单,但是弄清楚为什么还是很有必要的!

下面以一个案例为例:

4e471d70eebd5a81e10cfdce2e3a0238.png

如图,写了一个MyServlet实例,在里面重写了doGet()、init()和doPost()方法。现在要将其部署在web.xml中当中,web.xml文件是新建javaWeb工程直接生成的。

b5fd3c431a5975ac5491883b601f867f.png

现在要写入内容

38cb6334f9bc4b6a37599f679f426798.png

配置说明:

1.必须含有和,或者和

用来定义servelt的名称,该名称在整个应用中必须是唯一的。

用来指定servlet的完全限定的名称,这里就是servlet类的完整路径。

用来只当应用中jsp文件的完整路径,这个完整路径必须有/开始。

2.要含有和

: 指定相对于Servlet的URL路径。该路径相对于web应用程序上下文的根路径。讲URL映射到某个Servlet,即该servlet处理的URL。

标签中的写法有一下几种:

1. / + 别名

<url-pattern>/mm</url-pattern>

<url-pattern>/mm</url-pattern>

<url-pattern>/MyServlet</url-pattern>

同过这个就可以找到标签,就可以找到对应的servlet类了。

一般推荐使用/+servlet类名来使用,这样可以见名知意,时使用了哪一个servlet类进行处理请求。

2. *.do 或者 *.action

<url-pattern>*.action</url-pattern>

这样的方式,就拦截以action或者do结尾的url请求。

3. /*

<url-pattern>/*</url-pattern>

会拦截所有的请求,包括静态资源(js,img,静态文件)的请求。

4. /名字/servlet的别名

<url-pattern>/mm/*</url-pattern>

通过多级访问路径来找到指定的servlet。

用来指定服务器启动该项目时,默认会打开的页面。

如果想让某个servlet类优先被初始化,可以在标签之间使用2来改变加载的顺序,数字越小加载的越靠后,1为最大,一般推荐使用2就可以了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值