您的位置:首页 > 其它

Servlet 基础[一]

2018-03-12 19:25 113 查看

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.区别:

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









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Servlet基础