Servlet 基础[一]

Servlet 基础[一]

servlet:
1.什么是Servlet?

Servlet是运行在服务器端的Java小程序,是sun公司提供的一套规范,用

用来处理客户请求、响应给浏览器的动态资源。

Servlet是JavaWeb三大组件(Servlet、Filter[过滤器]、Listener(监听器)之一,而且是最重要的

2.servlet的作用?
用来处理从客户端发送来的请求,并对该请求做出响应。
Servlet实现的功能:
a:获取请求数据
b:处理请求
c:完成响应

3.servlet体系结构?
Servlet是使用Servlet API(应用程序设计接口)和相关类和方法的Java程序。包含
两个包,javax.servlet包和javax.servlet.http包
4.servlet实现?
I.概述:
[基于配置文件]Servlet程序需要编写实现类,并在web.xml进行配置
[基于注解方式]使用注解,无需额外编写web.xml,是3.0的特性
实现步骤:
1)创建类实现Servlet接口
2)覆盖尚未实现的方法—service方法
3)在web.xml进行servlet的配置但在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多,我们一般创建类继承HttpServlet
实现步骤:
1)创建类继承HttpServlet类
2)覆盖doGet和doPost
3)在web.xml中进行servlet的配置
II.具体的实现:
分为三步:
1.创建类,继承HttpServlet,复写doGet和doPost方法
2.编写配置文件web.xml,格式如下[两部分]:
#a:注册servlet

servlet名称
servlet实现类的全限定类名,类似于com.包名.类名

#b:给注册的servlet添加映射路径

servlet名称 #必须要和上面定义的servlet名称相同
/访问路径/url-pattern> #必须要以/开头

3.浏览器中运行:
浏览器地址:localhost:8080/TestDemo/servlet_demo
#这里假设你的web工程名为TestDemo,实现Servlet的类为servlet_demo
III.servlet执行流程:
a:web.xml匹配路径—>寻找实现servlet的类名称–>寻找类所在路径–>执行
IV.Requset请求:
1.request请求参数:
get请求方式: getParameter(String name)
post请求方式:getParameterValues(String name)
getParameterMap()
2.常用方法:
String getParameter(String name):获得指定参数名对应的值,没有返回null,
如果有多个,只返回第一个
String[] getParameterValues(String name):获得指定参数名对应的所有的值,
如:hobby=打篮球&hobby=看电影
Map

public void sendRedirect(String location) throws java.io.IOException
location参数可以指定重定向的URL,可以是相对或绝对路径。

举例:

reponse.sendRedirect("/chapter02/index.jsp");

b.请求转发:

同一个请求,可以在页面中传递数据,因为他们是同一个request.地址栏不会发生变化。

转发借助RequestDispatcher接口中的forward方法实现。

forward():将请求转发给其他资源

include():将其他资源并入当前请求。

语法:

RequestDispatcher dispatcher = request.getRequestDispatcher(String path);
dispatcher.forward(ServletRequest  request,ServletResponse response);

举例:

RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp").forward(request,response);

路径区别:

请求转发:getRequestDispatcher(“/index.jsp”)中相对路径“/”表示当前应用根目录,而重定向方法sendRedirect(“/chapter02/index.jsp”)中相对路径“/”表示整个web站点的根目录。

c.区别:

主要区别:请求转发前后共享同一个请求对象,而重定向后会创建不同的请求对象,属于两个独立的请求和响应过程。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

罚站的孩子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值