**作用:**可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块,内部类等。
练习:
1、声明类属性
2、声明static静态代码块
3、声明类方法
4、声明内部类
b.jsp页面下:
<%–1、声明类属性–%>
<%!
private int id;
private String name;
private static Map<String,Object> map;
%>
<%-- 2、声明static静态代码块–%>
<%!
static {
map=new HashMap<>();
map.put(“key1”,“value1” );
map.put(“key2”,“value2” );
map.put(“key3”,“value3” );
}
%>
<%–3、声明类方法–%>
<%!
public static boolean isMan(){
return false;
}
%>
<%–4、声明内部类–%>
<%!
private class Inner{
private int num=10;
private String sex=“男”;
}
%>
jsp.java源文件中
表达式脚本(常用)
==========
表达式脚本的格式:<%=表达式%>
表达式脚本的作用是:在jsp页面上输出数据。
练习:
1、输出整形
2、输出浮点型
3、输出字符串
4、输出对象
<%–表达式练习–%>
<%–1、输出整形–%>
<%= 12%>
<%–2、输出浮点型–%>
<%=13.14%>
<%–3、输出字符串–%>
<%=“这是一个字符串”%>
<%–4、输出对象–%>
<%=map%>
运行后:
源文件:
表达式脚本的特点:
1、所有的表达式脚本都会被翻译到_jspServlet()方法中
2、表达式脚本都会被翻译成为out.print()输出到页面上
3、由于表达式脚本翻译的内容都在_jspServlet()方法中,所以_jspServlet()方法中的对象可以直接使用。
4、表达式脚本中的表达式不能以分号结束。
_jspServlet类中
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
final java.lang.String _jspx_method = request.getMethod();
if (!“GET”.equals(_jspx_method) && !“POST”.equals(_jspx_method) && !“HEAD”.equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, “JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS”);
return;
}
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
}
代码脚本
====
代码脚本的格式是:<% java语句 %>
脚本的作用是代码:可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。
练习:
1、代码脚本——if语句
2、代码脚本——循环语句
3、翻译后java文件中_jspService方法内的代码都可以写
<%–1、代码脚本——if语句–%>
<%
int i=1;
if(i==1){
System.out.println(“2022年2月寒假中”);
}else{
System.out.println(“马上要开学了”);
}
%>
<%–2、代码脚本——循环语句–%>
<%
for(int j=0;j<5;j++){
System.out.println(j);
}
%>
<%–3、翻译后java文件中_jspService方法内的代码都可以写–%>
<%
String username = request.getParameter(“username”);
System.out.println(“username为”+username);
%>
运行结果:
jsp源码中:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
803)]
[外链图片转存中…(img-6fXxnPB9-1714929066803)]
[外链图片转存中…(img-txWnjgt7-1714929066804)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!