Java JSP知识点总结

**

JSP

**
Servlet:动态资源
JSP:动态资源
Jsp=servlet
Servlet=jsp

Servlet:纯Java代码编写
JSP:Java代码和HTML

Servlet生命周期:
1.浏览器发送请求到服务器
2.服务器通过访问名称查询web.xml
3.获取到Servlet,创建对象
4.调用初始化
5.调用服务
6.响应
7.销毁

Jsp生命周期:
1.浏览器发送请求到服务器
2.服务器对jsp进行翻译为Java文件
3.生成class文件,创建对象
4.调用初始化方法
5.调用服务方法
6.响应
7.调用销毁方法

1.当加载完jsp,翻译成 文件名_jsp.java 保存到服务器的work文件夹中
C:\Users\86187.IntelliJIdea2017.2\system\tomcat\Unnamed_华创1905期_2\work\Catalina\localhost\ROOT\org\apache\jsp
2.该类继承了HttpJspBase类,并且实现了JspSourceDependent
3.HttpJspBase:负责转换Java文件
JspSourceDependent:继承了HTTPServlet
Jsp间接继承了HTTP Servlet
Servlet直接继承了HTTP Servlet
4._jspInit()、_jspDestroy()、_jspService()
5.我们在Servlet中设置了响应编码集,jsp底层中也设置了
6.我们在Servlet中拼接HTML页面,jsp底层也拼接了

问:Servlet就是jsp,那么为啥出现jsp?
简便,拼接HTML

使用场景:
接收参数、响应数据(Servlet)
显示数据(JSP)

1.JSP模板
HTML模板

2.JSP脚本
语法:
<%Java代码%>
在Java中局部
3.JSP表达式
语法:
<%=Java代码%>
Print Writer pw=response.getWrite();
Pw.write(name);
4.JSP声明
语法:
<%!Java代码%>
成员

5.JSP注释
HTML:
虽然不会在页面中显示,但是还是会被解析进Java文件

JSP:<%–注释内容–%>
不会被解析到Java文件中
6.JSP指令
Page
<%@page import=”包名.类名,包名.类名”%>
Include
<%@include file=”jsp”%>
把指定的jsp中的内容添加到该jsp这种
tagLib

7.JSP的九大内置对象
JSP的中自带的对象

对象名 类型
Request HttpServletRequest
Response HttpServletResponse
Config ServletConfig
Application ServletContext
Session HttpSession
Out JspWrite
Page Object(this)
PageContext PageContext
Exeception Throwable

JspWrite和PrintWrite区别:

Page Context和Servlet Context的区别:
Servlet Context:
描述:上下文对象
作用域:整个项目中(一个项目中只有一个上下文对象)

Page Context:
	描述:上下文对象
	作用域:jsp页面(一个jsp页面只有一个Page Context)
	作用:获取其他八个内置对象

JSP中域对象:
1.request
2.session
3.application

8.EL表达式
替换的是jsp表达式
语法:
${属性名.方法名}
注意:方法名是getter后面的名字
比如:
Public String getName(){
Return name;
}

${属性名.name}

9.JSTL
Jstl标签(纯Java编写的)
分类:
核心标签库(c标签)
国际标签库(fmt库)
Xml标签库(xml库)
El函数库(EL库)
Sql标签库(sql库)

使用jstl步骤:
1.导入jar包

2.把tid文件放入WEB-INF文件夹下

3.引入

常用的标签
Set
<%–设置属性 page

pageContext.setAttribute(“name”,“光头”);
–%>
<c:set var=“name” value=“光头”></c:set>

Out
<%–
获取属性值
1.jsp表达式
<%=pageContext.getAttribute(“name”)%>

2.el表达式
${name}

3.out+el

–%>
<c:out value="${name}"></c:out>

If
<%
int age=19;
//判断age的年龄
request.setAttribute(“age”,age);
%>

<c:if test="${age<18}">
未成年
</c:if>

When
<c:choose>
<c:when test="${age<18}">
未成年
</c:when>

<c:when test="${age>=18 && age<=60}">
成年
</c:when>

<C:when test="${age>60 && age<=140}">
老年
</C:when>

<c:otherwise>
年龄有误
</c:otherwise>

</c:choose>

Foreach

<%--
    begin:开始
    end:结束
    items:遍历的容器
    var:对象名
    step:步长(自增)
    varStatus:状态

    for( Student stu:list){

    }


    for(int i=0;i<list.size();i++){
    }



--%>
<C:forEach begin="0" end="${size}" items="${list}" var="stu" step="1" varStatus="a">

    <tr>
        <td>${a.count}</td>
        <td>${stu.stu_name}</td>
        <td>${stu.stu_sex}</td>
        <td>${stu.stu_age}</td>
        <td>${stu.stu_address}</td>
        <td>
            <button>修改</button>
            <button>删除</button>
        </td>
    </tr>

</C:forEach>
序号姓名性别年龄家庭地址操作

Redirect
<c:redirect url=“index.jsp”></c:redirect>

内置标签
Include
<%–
与include指令的区别:
include指令:把一个jsp中所有的内容添加到另一个jsp中
include内置标签:引入
–%>
<jsp:include page=“demo.jsp”></jsp:include>

Forward
<%–请求转发时 直接转发请求对象 并且传递参数–%>
<jsp:forward page=“demo2.jsp”>
<jsp:param name=“username” value=“光头”></jsp:param>
<jsp:param name=“age” value=“25”></jsp:param>
</jsp:forward>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值