文章标题

Servlet 简单介绍

Servlet 是web项目中服务器端的小脚本(一般用来处理web网页的request请求)
一, Servlet的实现
首先,对于我们创建的任意一个Servlet都必须要实现Servlet接口,GenericServlet是一个通用的、不特定与任何协议的Servlet,它实现了Servlet接口,而HttpServlet继承于GenericServlet,因此HttpServlet也实现了Servlet接口,所以我们定义Servlet时只需继承HttpServlet即可。这里写图片描述
继承之后一般重写dopost()和doget()方法。
二 ,Servlet的生命周期
首先Servlet的加载模式为单例模式,当第一次被执行之后,再次调用时不会执行构造方法。
1.最先执行的是Servlet的构造方法;
2.初始化方法 init();
3.执行doget()或dopos()根据请求的方式不同;
4.执行service()方法
5.destroy()服务器停止
三 .Servlet的配置
Servlet的配置有两种,一种是通过web.xml文件来配置,另一种是通过注解来配置。
1.在web.xml中通过节点的方式

 <servlet>
         <!-名字可以随便取,最好见名知意-!>
    <servlet-name>name1</servlet-name>
          <!- 类的全路径 包名加类名-!>
    <servlet-class>com.day36.Severlet1</servlet-class>
  </servlet>
  <servlet-mapping>
     <!-servlet节点自己写的名子-!>
   <servlet-name>name1</servlet-name>
     <!-web网页端请求时需要的url-!>
   <url-pattern>/demo</url-pattern>
  </servlet-mapping>

执行顺序 :web网页发送请求后 通过url-pattern>/demo 找到 servlet-mapping>节点 在通过servlet-name>name1 找到对应servlet>节点 加载通过反射加载Servlet
有两种特殊情况
(1)当有多个不同url-pattern 的名字不同,但是servlet-name相同时,一个servlet可以处理多个请求。
这里写图片描述

(2)一个请求不能由多个Servlet来处理
这里写图片描述
2 在Servlet类中加注解
(1)@WebServlet(“/Action_name”);//直接在class上加
(2)@WebServlet(description=“描述的内容”,
urlPatterns{“可以取多个name”,“”,“” },
initParams{
@WebInitParam(name=”username”,value=”admin”) ,
@WebInitParam(name=”password”,value=”123456”)
}

注解完后在执行init()方法时就可以取出我们注解时值
三 . Servlet的request

        request.getMethod()//获取请求的方式
        request.getParameter("节点name")//获取节点的value
        request.getParameterValues("")//获取多选的值返回一个字符串数组
        request.setAttribute(key,value);//设置值 键值对形;

request.getRequestDispatcher(“/success.jsp”).forward(request, response);//跳转页面

在.jsp中取出request set的值

    <body>   
         <% 
          String str=(String)request.getAttribute("hello");
         %>       
       <h1>this is success</h1><br/>
       <h1><%=str%> </h1>
</body>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值