本笔记参考视频《尚学堂JSP视频》
一、 基本原理
1、 Tomcat自动将jsp文件转化成servlet。
2、 <!% %>中申明的变量和方法自动被转化为相应的servlet的成员变量和成员方法。而在<%%>中申明的变量被转化成_jspService方法中的局部变量。
3、 一个奇怪的现象,在<%! %>中第一一个成员变量,输出变量+1到前台,每次访问次数按理应该加1,但是代码被修改后再次访问时,加到一定的数字重归1。原因可能是Tomca内部的同步问题造成的。因为servlet是被同步访问的,所以尽量不要设置servlet的成员变量。
二、 常用jsp指令
1、 page的errorPage属性
在jsp页面中定义errorPage属性
<%@ page errorPage=”errorPage.jsp”%>
在errorPage.jsp中定义isErrorPage属性
<%@ page isErrorPage=”true”%>,可以使用内置对象exception,如果<%=exception.getMessage()%>
2、 include
(1) 静态包含<%@ include fiile=”titleBar.jsp”%>
在编译成servlet文件之前,将文件包含进来,被编译成一个servlet。包含文件和被包含文件访问的是同一个request对象。包含文件的时候不能传递参数,如<%@ include fiile=”TitleBar.jsp?user=123”%>是非法的。
(2) 动态包含<jsp:include fiile=”include.jsp”/>
包含文件和被包含文件分别编译成两个servlet;包含文件和被包含文件中的request内置对象是不同的,但是被包含文件的request可以访问包含文件所能访问的所有参数。包含文件的时候可以传递参数。
向包含页面传递参数:
<jsp:include page=”divide.jps” flush=”true”>
<jsp:param name=”v1” value=”%=value1%”/>
<jsp:param name=”v1” value=”%=value2%”/>
</jsp:include>
(3) <%@ include %>和<jsp:include>的区别
<%@ include file="date.jsp" %>
|
<jsp:include page="date.jsp"
flush="true"/>
|
include指令是在JSP程序编译前将file属性所指定的程序内容嵌入,再编译成一个servlet的字节码文件;
|
包含文件和被包含文件都被编译成相应的servlet字节码文件,在客户端请求时运行时载入包含文件的执行结果
|
include的file中不能带参数
|
<jsp:include>可以
|
包含页面和别包含页面使用同一个request对象
|
包含页面和被包含页面使用不同的request对象,被包含页面可以取得包含页面的参数,并可以在包含页面添加自己的参数(可以通过url或者通过指定jsp:param)
|
常用
|
不常用
|
三、 response.sendForward()和<jsp:forward>的区别
Sendredirect
|
Forward
|
页面和转向页面使用不同的request,转向页面不能取得上一页面的参数
|
使用不同的request对象,但转向页面可以取到上一个页面的参数
|
send后的语句会继续执行,除非return
|
forward后的语句不会继续发送给客户端
|
访问的原理是,客户端向服务端发送请求,服务器端浏览器发送转向指令,客户端再向服务器端发送请求(转向页面),服务器端把请求结果返回给客户端。需要客户端和服务器端的往返,所以速度慢
|
转向在服务器内部转化,所以速度比较快
|
可以转到任何页面
|
服务器内部转换,所以不能转向非项目内的页面
|
地址栏有变化
|
地址栏没有变化
|
可以传参数,直接写在url后面
|
可以传参数,即可写在url后面,也可以用指令<jsp:param>
|
/代表的是http://127.0.0.1/
<%response.sendRedirect("/test/ServletToJSP");%>
<form action="/test/ServletToJSP">
<a href="/test/ServletToJSP">test</a>
|
/代表的是http://127.0.0.1/test
this.getServletContext().getRequestDispatcher ("/servlet_jsp/ServletUseJsp.jsp")
.forward(req, resp);
并且只能以/开头
|
常用
|
常用
|
四、 userBean
1、 创建bean对象
<jsp:useBean id=”cb” class=”bean.CounterBean”/>
相当于<%CounterBean cb=new CounterBean()%>
2、 设置属性值
<jsp:setProoerty name=”cb” property=”count” value=“12” />
其中的param=”name”,相当于request.getParameter(“name”);
相当于<%cb.setCount(23)%>
property=”*”时,相当于将表单中的同名属性复制给成员变量。
3、 获取属性值
<jsp:getProperty name=”cb” property=”count”/>
相当于<%=cb.getCount()%>
4、 scope参数有四个取值,分别为page(默认),request,session,application
如果scope=”request”,则相当于下面的代码
<%
bean.CounterBean counterBean=(bean.CounterBean)request.getAttribute(“counterBean”);
if(counterBean==null){
counterBean=new bean.CounterBean();
request.setAttribute(“counterBean”,counterBean);
}
%>
session和applicationt同理。
5、
五、 从servlet转到jsp
1、 使用forward方式
this.getServletContext().getRequestDispatcher(“”).forward(req,resp);
或者thisgetServletConfig().getServletContext().getRequestDispatcher(“”).forward(req,resp);
其中路径必须以/开头。
2、 使用sendRedirect方式
resp.sendRedirect(req.getContextPath()+””);
其中req.getContextPath()获得工程名/my
六、
分享到:
相关推荐
JSP的使用通常涉及以下几个关键知识点: 1. **JSP指令和脚本元素** - `<% %>`:这是JSP的脚本元素,用于在页面中直接插入Java代码。这些代码会被转换为Servlet的方法,然后在服务器上执行,其结果直接输出到浏览器...
【JSP基础与Tomcat配置】 1. **Tomcat全局配置**:Tomcat服务器的全局配置文件位于`conf/web.xml`。此文件控制了服务器的行为,例如,如果你想禁止Tomcat列出目录内容,可以通过添加以下配置来实现: ```xml ...
【标题】:“北京MLDN 李兴华JSP笔记”是李兴华老师关于JavaWeb技术,特别是JSP(JavaServer Pages)的详实学习资料,由MLDN( Multimedia Learning and Development Network,多媒体学习与发展网络)发布。...
通过阅读《Jsp笔记.pdf》,你将能够深入学习JSP 2.0的核心概念,了解如何使用JSP来创建动态Web应用,掌握JSP的各种元素、内置对象、动作标签和新特性,从而提升你的Web开发技能。结合实际项目实践,你可以更好地应用...
**JSP(Java Server Pages)*...达内JSP笔记完全版详细介绍了JSP的基本概念、运行机制、语法结构和生命周期,为初学者提供了全面的学习材料。通过理解并熟练运用这些知识,开发者可以高效地构建基于Java的动态Web应用。
综上所述,北京圣思园的JSP笔记涵盖了从HTML/CSS基础到JSP页面的请求处理、会话管理和页面跳转等核心概念。通过这些笔记,学习者可以系统地掌握JSP的开发和应用,为构建动态Web应用打下坚实的基础。
jsp笔记(20220104183605).pdf
JSP笔记(20220104194929).pdf
### Web开发JSP笔记知识点概览 #### 一、HTTP请求方法:GET与POST - **GET** 方法:GET 方法通常用于从服务器检索资源。它将请求参数附加在URL后面,使得请求信息直接可见于地址栏。由于URL长度限制,GET 请求能...
### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...
【笔记.txt】文件可能包含了关于JSP的详细学习笔记,涵盖了基础概念、语法、生命周期、内置对象、EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)以及MVC(Model-View-Controller)设计...
根据提供的文件信息,这里将基于“jsp考试笔记”的标题、描述及部分难以辨识的内容来构建一份关于JSP(JavaServer Pages)的知识点总结。 ### JSP基础概念 #### 定义 JSP(JavaServer Pages)是一种由Sun ...
### JSP基础知识详解 #### 一、JSP简介 JSP (Java Server Pages) 是一种基于Java技术的服务器端脚本技术,它允许在HTML页面中嵌入Java代码。JSP页面可以在服务器端动态生成HTML内容,从而实现动态网页的功能。 - ...
毕业设计javajsp笔记本管理系统(ssm)-qkrp源码含文档 后台是ssm框架,页面是jsp,数据库mysql,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 笔记本管理 笔记管理 笔记收藏管理 笔记回收管理 包含:源码...
【韩顺平jsp九讲笔记】是一份详细记录了韩顺平老师关于JSP(Java Server Pages)技术的九次讲解的学习资料。这份笔记涵盖了JSP的基础知识、核心概念以及实际应用,旨在帮助学习者深入理解和掌握JSP编程。韩顺平老师...