Servlet基础知识

修改Tomcat端口号:找到Tomcat目录下的conf目录,找到serverxmI配置文件。

将web工程部署到Tomcat上的两种方法:

第一种方法:只需要把web工程的目录拷贝到Tomcat的webapps目录下即可。

第二种方法:找到Tomcat下的conf目录\Catalina\localhost\下.创建如下的配置文件:
<!- Context表示一个工程上下文
path表示工程的访问路径:/abc
docBase表示你的工程目录在哪里 >
<Context path=/abc" docBase="E:book" 1>


访问Tomcat下的web工程:在浏览器中输入范围地址格式如下:

http://ip:port/工程名/目录名/文件名

 

一个动态web项目文件夹用处:

在XML文件中配置信息:

什么是Servlet:

1. Servlet 是JavaEE规范之一。规范就是接口
2. Servlet 就JavaWeb三大组件之一。 三大组件分别是: Servlet 程序、Fiter 过滤器、Listener 监听器。
3. Servlet 是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

Servlet的生命周期:

手动实现Servlet:

1、编写一个类去实现Servlet接口
2、实现service方法,处理请求,并响应数据
3、到web.xm]中去配置servlet程序的访问地址

ServletConfig类的三大作用:
1.可以获取Servlet程序的别名servlet-name的值
2.获取初始化参数init param
3.获取ServletContext对象

注意:如果重写初始化法,必须继承原来的初始化方法:否则得不到config参数

初始化变量声明方法:

可以获取servlet程序的别名servlet -name的值

获取ServletContext对象

也可以

什么是ServletContext?

1、SenletContext 是一一个接口,它表示Servlet上下文对象
2、 一个web工程,只有一-个ServletContext对象实例。
3、ServletContext 对象是一一个域对象。
4、ServletContext 是在web工程部署启动的时候创建。在web工程停止的时候销毁。


什么是域对象?
域对象,是可以像Map一样存取数据的对象,叫域对象。
这里的域指的是存职数据的操作范围。

ServletContext类的四个作用
1、获取web.xml中配置的上下文参数context-param
2、获取当前的工程路径,格式:工程路径
3、获取工程部曙后在服务器硬盘上的绝对路径
4、像Map一样存储数据

获取web. xml中配置的上下文参数context param

获取当前的工程路径,格式: / 工程路径

获取工程部署后在服务器硬盘上的绝对路径
/斜杠鼓服务器解析地址为:http://ip:pert/I程名/映射到IDEA代码的veb目录

 

通过继承HttpServlet实现Servlet程序(实际项目开发一般是这样做):
1、编写一个类去继承HttpSservlet 类
2、根据业务需要重写doGet或doPost方法
3、到web.xml中的配置Servlet 程序的访问地址
 

GET请求:                                                                    POST请求:

               

get和post请求分别有哪些?

请求的转发:
请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。

请求转发的特点:
1、浏览器地址程没有变化“
2、他们是一次请求
3、他们共享Request域中的数据
4、可以转发到WEB-INF目录下
5、不可以访问工程以外的资源

常用的响应码说明
200:表示请求成功
302:表示请求重定向
404:表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
500:表示服务器已经收到请求,但是服务器内部错误(代码错误)

请求重定向的特点:
1、浏览器地址栏会发生变化
2、两次请求.
3、不共享Request域中数据
4、不能访问WEB-INF下的资源
5、可以访问工程外的资源

请求重定向的第一种方案:

第二种方案(常用):

在HTTP协议中有一个请求头,叫Referer,它可以把请求发起时,浏览器地址栏中的地址发送给服务器


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

aHttpServletResponse类的作用
HttpSerletResponse类和HttpServletRequest类-样。每次请求进来,Tomcat 服务器都会创建-个Response对象传
递给servlet程序去使用。HttpSerletRequest 表示请求过来的信息,HtpSerletResponse 表示所有响应的信息,
我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置

HttpServletRequest类的常用方法:

设置请求体的字符集为UTF-8,从而解决post请求的中文乱码问题
注意:也要在获取请求参数之前调用才有效

base标签:可以设置当前页面中所有相对路径工作时,参照哪个路径来进行跳转,href属性就是参数的地址值

在web中斜杠(/)的不同意义:

/斜杠如果被浏览器解析,得到的地址是: http//:ip:port/

/斜杠如果被服务器解析,得到的地址是: http://ip:port/工程路径

特殊情况: response . sendRediect("/");  把斜杠发送给浏览器解析得到http://ip:port/
 

两个输出流的说明:

字节流:getOutputStream();               常用于下载(传递二进制数据)
字符流:getWiter();                             常用于回传字符串(常用)
注意:两个流同时只能使用一个。使用了字节流,就不能再使用字符流,反之亦然,否则就会报错。

设置服务器字符集为UTF-8

通过响应头,设置浏览器也使用UTF-8字符集

它会同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
注意:此方法一定要在获取流对象之前调用才有效

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值