我的网站:欢迎来访问
Servlet功能
Servlet三大职责
接收请求参数(封装)
调用业务方法处理业务(去调用业务层)
响应请求(跳转页面或其他Servlet)
Servlet跳转方式
转发:
一次请求,地址栏不会发生变化,可以共享同一组req,resp,不能访问外部的页面,只能访问当前项目的页面
req.setAttribute("name","tom");
req.getRequestDispatcher("url").forward(req,resp);
重定向:
多次请求,地址栏会发生变化,不能共享同一组req,resp,可以访问外部的页面
resp.sendRidrect("url");
Jsp
概述
JSP:(java server page) Java服务端的页面
作用:将后台代码和前台代码分离开来,提高开发效率
JSP执行流程:
访问JSP --> 首先主要转换成Servlet -->经理Servlet的生命周期
为什么需要JSP?
在有些时候需要将后台代码和前台代码分离出来
JSP语法
jsp可以写的代码:html代码、css代码、java代码
注释:
html注释
<!-- html注释 -->
jsp注释
<%-- jsp注释 --%>
Java代码的书写
JSP声明:
<%! int num = 1;%>
一般不用
JSP小脚本:
<% int num = 5;%>
经常用,一般用来写逻辑代码,生成Servlet时会生成在service方法中
JSP表达式:
<%=5656%>
存放表达式,输出值,专门用于输出,生成Servlet时也会生成在service方法中
JSP三大指令
Page指令(常用): 1.设置页面的编码集2.导入包3.指定错误页面和是否是错误页面
errorPage和isErrorPage的区别(面试题)
errorPage用于指定错误页面
isErrorPage指定当前页面是否为错误页面
include指定:-----(静态包含) 包含其他页面
taglib:
JSP九大内置对象(影子对象/隐含对象)
输入输出对象部分:
request,response,out
作用域通信对象部分:
pageContext,session,application
Servlet对象部分:
page,config
异常对象:
exception(指定当前页面为错误页面时才会出现)
四大作用域对象
PageContext:当前页面
request:一次请求
session:一次会话
application:全局对象(包含多次会话)
面试题
静态包含与动态包含
静态包含:<%@ include file=""%>
,一次文件,先包含再编译,一般用来静态页面(html)
动态包含:<jsp:include>
,多次文件,先编译再包含,一般用来动态页面(jsp)
重定向与转发的区别
两者都是用来做页面跳转的
转发:只发起一次请求,地址栏不会变,可以共享同一组req,resp,不能访问项目外的页面
重定向:会发起多次请求,地址栏会变,不能共享同一组req,resp,可以访问项目外的页面
JSP与Servlet区别
JSP本质上就是一个Servlet,JSP注重数据的展示,Servlet注重业务逻辑的处理