JavaWeb学习总结

目录

前言内容

一、重写init()

二、ServletContext 接口

三、ServletContext类的四个作用

四、常用的请求头信息

五、请求类型

 1、GET

 2、POST请求  form标签 method=post

六、常用的响应码

七、配置文件和创建类(正式部分)

八、HttpServletRequest 类

九、HttpServletResponse 类

1、两个输出流

  2、请求重定向

3、获取请求参数*  String password=request.getParameter("password");*  得到标签中name 为password 的值

十、jsp

 11、 jsp中的脚本

(1)、声名脚本

(2)、表达式脚本

(3)、代码脚本

 十一、jsp的九大内置对象

1、 四个域对象:

 2、out输出和response.getWriter输出的区别


前言内容

一、Servlet的生命周期
     1、执行构造器方法
     2、执行init初始化方法
     3、执行service方法,每次访问对应请求都会被调用
     4、执行destroy销毁方法,在web工程停止时候销毁
二、获取请求
 创建HttpServletRequest  对象获取
 三、通过继承HttpServlet实现Servlet程序
  1、编写一个类去继承HttpServlet类
  2、根据业务需求重写doGet或doPost方法
  3、到web.xml中的配置Servlet程序的访问地址
  四、关系
  接口Servlet  <---类 GenericServlet <--类 HttpServlet <-- 自定义的Servlet

一、重写init()

一定要调用super.init()方法

二、ServletContext 接口

表示Servlet上下文对象,
一个web工程,只有一个ServletContext对象实例
ServletContext对象是一个域对象
是可以像Map一样存储数据的对象叫域对象,这里的域指的是存储数据的操作范围。

三、ServletContext类的四个作用

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

四、常用的请求头信息

Accept:表示客户端可以接收的数据类型
Accpet-Languege:表示客户
User-Agent:表示客户浏览器的信息
Host:表示请求时的服务器ip和端口号

五、请求类型

 1、GET

 form标签 method=get
 a标签
 ling标签引入css
 Script标签引入js文件
 img标签引入图片
 iframe引入html页面
 在浏览器地址中输入地址后敲回车

 2、POST请求

  form标签 method=post

六、常用的响应码


1、200 表示请求成功

2、302 表示请求重定向

3、404 表示服务器已经收到了,但是数据不存在(请求地址错了)

4、500 表示服务器已经收到请求,但是服务器内部错误(代码)

七、配置文件和创建类(正式部分)

idea可以直接创建

//IDEA直接生成Servlet
//再配置web.xml
public class HelloServlet3 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("in HelloServlet3 ");

        request.getRequestDispatcher("/into.jsp").forward(request,response);//转发
    }

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

        System.out.println("HelloServlet3:POST");
    }

}

配置weib.xml

    <!--    servlert 给服务器配置servlet程序-->
    <servlet>
        <servlet-name>HelloServlet3</servlet-name>
<!--        对应类,目标路径-->
        <servlet-class>com.main.Server.HelloServlet3</servlet-class>
    </servlet>

    <servlet-mapping>
        <!--        告诉服务器,我当前配置的地址给哪个servlet程序使用-->
        <servlet-name>HelloServlet3</servlet-name>
        <!--       请求路径,当有这个请求时候调用对应的Servlet  路径 http://ip:port/工程路径/hello-->
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping>

八、HttpServletRequest 类

 作用:每次只要有请求进入Tomct服务器,Tomcat服务器就会把请求过来的HTTP协议信息拆解解析封装好到Request对象中
 然后传递到service方法(doGet和doPost中给我们使用)
 常用方法

  req.getRequestURI(); //获取请求的资源路径
  req.getRequestURL(); //获取请求的绝对路径
  req.getRemoteHost(); //获取客户端的ip地址
  req.getHeader();     //获取请求头
  req.getParameter();  //获取请求的参数
  req.getParameterValues(); //获取请求的参数(多个值的时候使用)
  req.getMethod();  //获取请求的方式(GET、Post)
  req.setAttribute(); //设置请求域数据
  req.getAttribute(key); //获取请求域数据
  req.getRequestDispatcher(); //获取请求转发对象

九、HttpServletResponse 类

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

1、两个输出流

 resp.getOutputStream(); //常用于下载(传输二进制数据)字节流
*        resp.getWriter();  //常用于回传(常用) 字符流
*                 两个流同时只能使用一个
 resp.setContentType("charset=UTF-8"); //设置编码

  2、请求重定向

 方式一:
  RequestDispatcher requestDispatcher=   request.getRequestDispatcher("/texte2.html");
*           requestDispatcher.forward(request,response); //走向
支持流式结构:
request.getRequestDispatcher("/texte2.html").forward(request,response); //走向

不能访问外部URL

浏览器地址没有变化
对服务器只是一次请求
共享域数据,

浏览器地址不发生改变

方式二:
 resp.sendRedirect("http://localhost:8080/untitled_Web_exploded/");直接输入请求地址

3、获取请求参数
*  String password=request.getParameter("password");
*  得到标签中name 为password 的值

十、jsp

 1、language     jsp翻译后的语言文件,只支持java
 2、contentType   jsp返回的数据类型是什么
 3、pageEncoding  当前jsp页面文件本身的字符集
 4、import        跟java中一样,用于导包
             两个属性是给out输出流使用的
 5、autoFlush  设置当out输出流缓冲区 满了之后,是否自动刷新缓冲区。默认值是true
 6、buffer       设置out缓冲区的大小。默认是8kb
 7、errorPage  设置当jsp出现错误时候跳转的路径 errorPage ="/err.jsp"
 8、isErrorPage 设置当前jsp页面是否是错误信息页面。默认是false。
 9、session       设置访问当前jsp页面,是否回创建HttpSession对象,默认是true
 10、extends      设置jsp翻译出来的java类默认继承的类
<%@ page contentType="text/html;charset=UTF-8"


         language="java" %>

 11、 jsp中的脚本

(1)、声名脚本

 <%! 声名java代码 %>
作用可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块。内部类等

(2)、表达式脚本

 <%= 表达式 %> 
 作用:在jsp页面上输出数据
特点  所有的表达式脚本都会被翻译到_japService方法中
    表达式脚本都会被翻译成为out.print()
    由于表哒式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以直接      使用
    不能以 ; 号结束

(3)、代码脚本

<% java语句%>
 作用:可以在jsp页面中,编写我们自己需要的功能 (写的是java语句)
 if语句
 for循环
 翻译后java文件中_japService方法内的代码都可以写
 特点:代码脚本翻译之后都在_jspService中
     代码脚本由于翻译到_jspService()方法中,所以在_jspService()中的现有对象都可以直接使用
      还可以多个脚本块组合成完整的java语句,合理利用{}可以套html标签写
      代码脚本内可以使用表达式脚本<%= 表达式 %>

 脚本语句的生命周期 :不管这三个代码脚本被创建了多少段,每个脚本本质上是一大段,每种脚本间的数据在段块中共享

 十一、jsp的九大内置对象

 request         请求对象
 response        响应对象
 pageContext     jsp的上下文对象
 session 会话对象
 application     ServletContext对象
 config          ServletConfig 对象
 out             jsp输出流对象
 page            指向当前jsp的对象
 exception       异常对象  isErrorPage=true 才能使用

1、 四个域对象:

pageContext    (PageContextImpl 类)、     当前jsp页面的范围内有效
    request       (HttpServletRequest 类)、   一次请求内有效
    session        (HttpSession类)、             一个会话内有效(打开浏览器访问服务器,直到关闭浏览器)
    application    (ServletContext类)            整个web工程范围内有效(只有web工程停止,数据都在)

在jsp中直接能使用它们来进行会话

 域对象是可以像Map一样存取数据的对象。四域对象功能一样,不同的是它们对数据的存取范围
 使用优先顺序是:pageContext-->request-->session-->application

 2、out输出和response.getWriter输出的区别

 response中表示响应,我们经常用于设置返回给客户端的内容(输出)
out也是给用户做输出使用的 out
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值