Rhythmk 一步一步学 JAVA(6): JSP 语法学习笔记
1、修改JSP页面模版:
找到MyEclips安装目录,搜索“Jsp.vtl”,找到该文件修改编码,以及一些不需要用到的代码。
2、查找项目生成的Servlet文件路径:
查看当前项目父级目录搜索 .metadata -> .me_tcat ->work ->Catalina 即可在 子级目录找到servlet 翻译过后的代码。
3、JSP 页码全局异常页面配置,错误页码配置Page指令 IsErrorPage="true",则可获取异常信息
WebRoot/Web-INF/web.xml 配置
<error-page>
<!--exception-type 非必须配置节点-->
<exception-type>异常类型</exception-type>
<!--error-code 非必须配置节点,指定错误码跳转页码 如 404 ,500-->
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
4、include 指令:
实用方法:<%@ include file="/WEB-INF/head.jsp" %> ,file 对应文件路径区分大小写.
注意: include 为静太包含, 动态包括使用方法为:
<% request.getRequestDispatcher("/WEB-INF/head.jsp").include(request, response); %>
得到的效果如.NET的 response.write 会打乱页码结构
5、JSP 常用标签
5.1、 forward 跳转页码:
如:
<jsp:forward page="/01.jsp">
<jsp:param value="01" name="user"/>
</jsp:forward>
5.2 、include : 等价于<%@ include file="***" %>
如:
<jsp:include page="/WEB-INF/head.jsp"></jsp:include>
6、JSP映射配置:
在/WEB-INF/web.xml文件中做如下配置:
<servlet>
<servlet-name>rhythmk</servlet-name>
<jsp-file>/01.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>rhythmk</servlet-name>
<url-pattern>/rhythmk.html</url-pattern>
</servlet-mapping>
请求:http://loaclhost:8080/test/rhythmk.html 等效于 http://loaclhost:8080/test/01.jsp
7、JSP 页码
<% JAVA代码块 %>
<%! 定义方法 %>
<%-- java 代码级注释 --%>
8、Page 指令(<%@ page %>):
session: 是否开启Session 默认开启.
pageEncoding:指定页码编码格式.
import:导入java包, 多个包可以逗号分隔 import="包1,包2"也可以
<% import="包1" %>
<% import="包2" %>
isThreadSafe: 是否线程安全,默认"true"
Servlet 跳转 jsp
@WebServlet("/Hello")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("name",request.getParameter("name"));
request.getRequestDispatcher("Hello.jsp").forward(request,response);
}
}
Rhythmk 一步一步学 JAVA(6): JSP 语法学习笔记的更多相关文章
- 【Java】基本语法学习笔记
1.数组 *数组的创建 int[] array = {1,2,3,4,5}; 注意区别于C++ int a[] = (1)两种输出方法 public class number { public sta ...
- 《零基础学JavaScript(全彩版)》学习笔记
<零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...
- JAVA的反射机制学习笔记(二)
上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了.自己的步伐全然被打乱了~不能继续被动下去.得又一次找到自己的节奏. 4.获取类的Constructor 通过反射机制得到 ...
- Java后端高频知识点学习笔记1---Java基础
Java后端高频知识点学习笔记1---Java基础 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819297 1.重载和重写的区别 重载:同一类中多个同名方 ...
- 零基础学Java第一节(语法格式、数据类型)
本篇文章是<零基础学Java>专栏的第一篇文章,从本篇文章开始,将会连更本专栏,带领大家将Java基础知识彻底学懂,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! ...
- java 方法调用绑定--《java编程思想》学习笔记
将一个方法调用同一个方法主体关联起来,就是绑定. 绑定分两种 :前期绑定 和 后期绑定 . 绑定------------- | -----前期绑定-------编译期绑定 { static , fin ...
- Java超简明入门学习笔记(四)
Java编程思想第4版学习笔记(四) 第六章 访问权限控制 访问权限控制是面向对象编程中的重要概念,它划分了类设计者和类使用者的界限.通过设置权限,它一方面告诉类设计者,哪个部分的修改 ...
- 《Java编程思想》学习笔记(二)——类加载及执行顺序
<Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...
- [Java] LinkedList / Queue - 源代码学习笔记
简单地画了下 LinkedList 的继承关系,如下图.只是画了关注的部分,并不是完整的关系图.本博文涉及的是 Queue, Deque, LinkedList 的源代码阅读笔记.关于 List 接口 ...
随机推荐
- neutron之neutron_openvswitch_agent占用100%CPU资源问题
基于kolla-ansible部署的queens版本,基于docker stats查看openstack的资源占用,发现neutron_openvswitch_agent一直占用100%CPU资源,这 ...
- Java语法基础学习DayEleven(Map)
一.Map接口 1.概述:Map与Collection并列存在,用于保存具有映射关系的数据Key-Value. Map接口 |- - - - -HashMap:Map的主要实现类 |- - - - - ...
- 学号 20175223 《Java程序设计》第4周学习总结
学号 20175223 <Java程序设计>第4周学习总结 教材学习内容总结 第五章要点: 要点1:子类与父类:extends.类的树形结构: 要点2:子类的继承性:同一包中与不在同一包中 ...
- gitlab修改默认端口
部署gitlab的时候,一启动,发现80和8080端口已经被占用,无奈,只得先将监听80端口的nginx和监听8080端口的jenkins停止.这会儿有空,琢磨一下如何修改gitlab的默认端口. 修 ...
- linux 怎么上传下载-- 文件
https://www.cnblogs.com/lynn-li/p/6078595.html yum install lrzsz rz:从本地上传文件至服务器 sz filename:从服务器下载文件 ...
- Vue: 用 key 管理可复用的元素
<div id="login"> <template v-if="loginType === 'username'"> <labe ...
- 《从Lucene到Elasticsearch:全文检索实战》学习笔记一
今天,我主要给大家讲一下信息检索概念. 信息检索: 互联网时代的飞速发展使人们进入了信息爆炸时代,据统计全球的互联网用户已达到30亿,在各个网站及移动app在每个分钟 产生的数据量是巨大的,从而导致数 ...
- poj 1151 (未完成) 扫描线 线段树 离散化
#include<iostream> #include<vector> #include<cmath> #include<algorithm> usin ...
- ScriptManager 发送错误到客户端
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- PythonStudy——函数嵌套定义 Function nesting definition
# 在一个函数内部定义另一个函数 # 函数对象(变量)与普通对象(变量)一样,在函数内部定义,随函数调用而产生, # 调用结束而销毁,所以只能在函数内部调用 def outer(): print('o ...