菜鸟学习JSP之第6章-servlet

1、什么是servlet?

Java语言编写的服务器端程序,用于处理客户端请求并返回响应。Servlet运行在服务器端,由服务器调用执行。

Servlet主要功能:

1、根据客户请求动态返回整个HTML页面。

2、可以与服务器上的其他资源进行通信。包括数据库、其他java程序。

3、处理与多个web客户端的请求,接收来自多个web客户端输入的信息,并将结果发送到相应的web客户端。

2、手动编写servlet

1、创建一个类,继承HttpServlet。

2、重写doGet或者doPost方法。

3、配置Servlet。

4、配置xml

3、servlet和JSP的关系

JSP在运行时会被翻译成一个Servlet类,然后进行执行。所以,JSP本质上就是一个servlet。

4、servlet的生命周期

1、加载:当客户端请求servlet服务或web服务器启动时,容器加载一个servlet类。

2、实例化:创建一个servlet对象

3、初始化:init()方法。

4、服务:容器利用HttpServletRequest 和HttpServletResponse对象,封装从web客户端接收到的HTTP请求和servlet生成的响应,将这两个对象一参数形式传递给service()方法------doGet和doPost();然后输出响应信息

5:销毁:destroy()方法。

 

访问页面,并停止tomcat,可以看到如下效果:

5、Servlet API

6、servlet接口

①ServeltConfig接口

在Servlet初始化过程中获取配置信息

一个Servlet只有一个ServletConfig对象

ServeltConfig接口的常用方法

方法名称功能描述
ServletContext getContext(String path)返回服务器上与指定URL相对应的ServletContext对象
void setAttribute(String name,Object obj)设置Servlet中的共享属性
Object getAttribute(String name)获取Srevlet中设置共享属性

 

②GenericServlet抽象类

提供了Servlet与ServletConfig接口的默认实现方法

GenericServlet的常用方法

方法名称功能描述
String getInitParameter(String name)返回服务器上与指定URLxiang6duiyign的ServletContext对象,实际上时调用ServletConfig接口的同名方法
ServletContext getServletContext()返回Servlet的上下文对象引用,实际上是调用ServletConfig接口的同名方法

 

 

③HttpServlet继承于GenericServlet

处理HTTP协议的请求和响应

HttpServlet的方法:

方法名称功能描述
void doGet(HttpServletRequest request,HttpServletResponse response)以Get请求服务时调用
void doPost(HttpServletRequest request,HttpServletResponse response)以Post请求服务时调用

 

使用doXxx()接收用户请求:

doGet():用户使用get方式提交请求时调用

doPost():用户使用post方式提交请求是调用

④HttpServletRequest类常用方法:

代表客户端的请求。

方法名称功能描述
String getParameter(String param)获取客户端请求数据
void setCharacterEncoding(String encoding)设置输入字符集

⑤HttpServletResponse类常用方法

代表向客户端发送的响应。

方法名称功能描述
void setContentType(String contType)设置输出字符集
void sendRedirect(String url)让浏览器重定向到指定的资源

⑥ServletContext

一个ServletContext对象表示一个web应用的上下文。在JSP中的内置对象application是ServletContext的实例。

7、servlet应用:处理表单请求

表单页面:

<form action="LoginServlet" method="post">
    姓名:<input type="text" name="username" id="username"/>
    <input type="submit" value="提交"/>
</form>

跳转到Servlet类:

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    String name=request.getParameter("username");
    if(name.equals("admin")){
        request.getReqeustDispather("MyJsp.jsp").forward(request,response);
    }else{
        reponse.sendRedirect("index.jsp");
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CiCi喜之郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值