servlet

第三天——Http协议

协议就是标准,它规定了通信双方如何进行通信

Http超文本传输协议,基于tcp协议(请求、响应、通信)之上

默认端口80

http1.0响应完就断了,http1.1可以长连接

  1. 响应成功

404:请求资源没找到,客户端出错

500:有请求资源,服务器出错了

302:重定向,服务器会发送一个响应头location,它指定了新请求的URL地址

304:

第四天——servlet

  1. 它是javaWeb三大组件之一

Servlet:是一个动态资源

Filter

Listener

  1. Servlet负责的工作

用来处理请求:当客户端发出一个请求给服务器,服务器会通过web.xml配置文件找到相应的servlet来处理

一个servlet至少和一个URL绑定在一起,用户通过URL来访问Servlet

  1. Servlet处理请求过程

服务器在执行Servlet时,会传递到servlet请求,数据封装到Response

**************************************

Servlet

  1. 它是javax.servlet.Servlet接口

实现Servlet

  1. 实现javax.servlet.Servlet接口
  2. 继承javax.servlet.GenericServlet接口
  3. 继承javax.sevlet.http.HttpServlet抽象类(最佳选择)
  1. Servlet接口中的方法

Void iniit(ServletConfig)

Void Service(ServletRequest request, ServletResponse response)

Void destory()

String getServletInfo()

ServletConfig getServletConfig()

生命周期方法:

Void iniit(ServletConfig) ——》Servlet出生,只执行一次

Void Service(ServletRequest request, ServletResponse response) ——》这个可执行多次,每次执行就处理一次请求。

Void destory() ——》Servlet结束,只执行一次

客户端发出一个请求,服务器通过url找到相应的Servlet,但如果Servlet不存在,那么服务器就会创建一个servlet,创建对象后立马调用init(servletConfig)方法,传递ServletConfig

服务网器调用Servlet对象的service()方法,这需要传递给request和response。

当服务器再次访问Servlet时,这时servlet对象已经存在,就不会再次创建,Servlet是单例的。

当服务器需要销毁servlet的时候会调用destory()方法,然后再销毁。

  1. servlet入门

写一个Servlet的类

import java.io.IOException;

import javax.servlet.GenericServlet;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

//这是一个类不能直接访问,需要在web.xml中映射

public class helloServlet extends GenericServlet{

@Override

public void service(ServletRequest arg0, ServletResponse arg1)

throws ServletException, IOException {

// TODO Auto-generated method stub

arg1.getWriter().write("hello servlet");

}

}

再在web.xml中映射

 <servlet>

   <!-- 给你的servlet类取一个名字 -->

   <servlet-name>HelloServlet</servlet-name>

<servlet-class>day02.firstServlet.helloServlet</servlet-class>

<!--实际对应的访问路径,写相对路径即firstServlet.helloServlet --> </servlet>

  <servlet-mapping>

   <!-- 给servlet一个映射地址 -->

   <servlet-name>HelloServlet</servlet-name> //这个名和上面起的要一样

   <url-pattern>/hello</url-pattern> //访问路径名

  </servlet-mapping>

题外:eclipse主页恢复原样

Window——Perspective——Reset Perspective

  1. Servlet生命周期

Init——初始化

Service——服务

Destory——销毁

在目录下创建一个Servlet

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

 * Servlet implementation class lifeServlet

 */

@WebServlet("/lifeServlet")

public class lifeServlet extends HttpServlet {

//加一个构造方法 (构造方法不加返回值)

public lifeServlet() {

System.out.println("life servlet!");

}

       

    //从写init

public void init() throws ServletException {

//sysc

System.out.println("servlet init!");

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.getWriter().append("Served at: ").append(request.getContextPath());

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

System.out.println("servlet service !!!");

}

//重写destory

@Override

public void destroy() {

System.out.println("Servlet destory method");

}

}

二,常用快捷键

(1)Ctrl+Space
说明:内容助理。提供对方法,变量,参数,javadoc等得提示,
应运在多种场合,总之需要提示的时候可先按此快捷键。
注:避免输入法的切换设置与此设置冲突

(2)Ctrl+Shift+Space
说明:变量提示
(3)Ctrl+/
说明:添加/消除//注释,在eclipse2.0中,消除注释为Ctrl+\

(4)Ctrl+Shift+/
说明:添加/* */注释

(5)Ctrl+Shift+\
说明:消除/* */注释

(6)Ctrl+Shift+F
说明:自动格式化代码

(7)Ctrl+1
说明:批量修改源代码中的变量名,此外还可用在catch块上.

(8)Ctril+F6
说明:界面切换

(9)Ctril+Shift+M
说明:查找所需要得包

(10)Ctril+Shift+O
说明:自动引入所需要得包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值