码迷,mamicode.com
首页 > 编程语言 > 详细

javaweb-servlet

时间:2021-03-30 13:37:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:response   attr   响应   信息   dog   过滤器   资源   com   之一   

servlet是javaEE的规范之一,就是一个接口;是javaweb三大组件(servlet程序、Filter过滤器,Listener监听器)之一;它可以接受客户端上发来的请求,并响应数据给客户端

实现servlet程序的步骤

1,src包下,编写一个类去实现servlet接口

2,实现servlet方法,处理请求,响应数据

技术图片

 

 

3,到web.xml中配置servlet程序的访问地址

 

技术图片

 

 注意,访问地址一定要加上斜杠

=====================================

servlet程序生命周期

1,构造器方法

2,init方法初始化

第1,2步是在第一次访问的时候被执行了

3,service方法

第3步每次访问都会调用,比如刷新网页

4,destroy销毁方法

 第4步web工程停止时才会执行

===============================================

因为请求有get和post两种方式

所以在实现servlet的类中的构造器中要获取请求方式

技术图片

 

 

技术图片

 

=============================================================

在开发中的操作,更多的是继承httpservlet接口,用工具类去实现:

技术图片

 

技术图片

 

 ===============================================================

servlet的一些实现类

技术图片

 =======================================================

servletconfig类,是servlet的配置信息类

1,获取servlet程序的别名既servlet-name

System.out.println(getServletConfig().getServletName());

2,获取初始化参数init-parm

技术图片

 

 在web.xml中自己配置初始化值

getServletConfig().getInitParameter("username);
通过这个方法,用参数名username获得参数值root

3,获取servletcontext对象

getServletConfig().getServletContext();

===================================================

servlet程序和sernletconfig对象都是有tomcat负责创建。
=======================================================

技术图片

 

 如果重写init方法,一定要写上super.init(config)

============================================

servletcontext是一个借口,表示servlet上下文对象

一个web工程只有一个servletcontext对象实例,只有在工程停止时里面的数据才会销毁。

servletcontext对象是一个域对象(是可以像map一样存取数据的对象,域指的是存取数据的操作范围)


技术图片

 

 

四个作用:
1,获取web.xml中额配置的上下文参数context-param。
ServletContext context = getServletConfig().getServletContext();
String username = context.getInitParameter("username");

技术图片

 

2,获取当前的工程路径,格式:/工程名
context.getContextPath();
3,获取工程部署后在服务器磁盘上的绝对路径
context.getRealPath("/");
4,像map一样存储数据
ServletContext servletContext = getServletContext();
servletContext.setAttribute("key1","user112");
System.out.println(servletContext.getAttribute("key1"));

================================================================

Http协议:就是客户端和服务器之间通信时,发送的数据,需要遵循的规则。数据也叫报文。

技术图片

 

 技术图片

 

 

技术图片

 

 

技术图片

 

 ====================================================================

技术图片

 

 技术图片

 

 =========================================================

 

技术图片

 

 =======================================================

HttpServletRequest类

每次只要有请求进入tomcat服务器,tomcat服务器就会把请求过来的http协议信息解析好封装到Request对象中。然后传到service方法(doGet和doPost)中给我们使用。我们就可以通过HttpServletRequest对象,获取所有请求的内容。

常用方法:

技术图片

 

 技术图片

 

===================

 获取请求参数:

技术图片

 

 

技术图片

技术图片

 

 ===========================================

请求转发:

服务器收到请求后,从一个资源跳转到另一个资源的操作。

比如servlet1和servlet2两个文件。

在servlet1中

技术图片

 

 在servlet2中:

技术图片

 

 技术图片

 

 

 =============================

base标签

技术图片

 

 =========================

javaweb中,路径分相对路径和绝对路径

相对路径:

.  表示当前目录

.. 表示上一级目录

 

绝对路径:

http://ip:port/工程路径/资源名

==============================

/斜杠的不同意义:

技术图片

 

 =========================

HttpServletResponse类和HttpServletRequest类一样。

每次请求进来,tomcat服务器都会创建一个Response对象,传递给servlet程序使用。

HttpServletRequest表示请求的信息,HttpServletResponse表示响应的信息。

需要返回给客户端的信息,都可以用HttpServletResponse对象设置。

 

返回给客户的信息需要用两个输出流:

技术图片

 给客户端传输一段字符:

技术图片

 

  

设置服务器字符集和游览器字符集:

技术图片

 

 

还有一个更好用的API:

 技术图片

 

 =================================

请求重定向:

技术图片

 

 

在response1中:

技术图片

 

 

在response2中:

技术图片

 

 ==========

第二种请求重定向方法(推荐使用):

在reponse1中写一句代码代替上面的两句代码,不用再设置302了

技术图片

 

 

 



javaweb-servlet

标签:response   attr   响应   信息   dog   过滤器   资源   com   之一   

原文地址:https://www.cnblogs.com/jmfy/p/14588567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!