用最简单的话语教你使用JSP(上)

简介: JSP1.什么是JSP2. JSP原理3. JSP基础语法4. JSP指令5. 九大内置对象6. JSP标签、JSTL标签、EL表达式6.1 EL表达式${}6.2 JSP标签6.3 JSTL表达式

1.什么是JSP


Java Server Pages:Java服务器端页面,和servlet一样,用于动态web技术

最大的特点:


  • 写JSP就像在写HTML


  • 区别:
  • HTML只给用户提供静态的数据
  • JSP页面中可以嵌入Java代码,为用户提供动态数据


2. JSP原理


思路:看一下JSP到底是怎么执行的


  • 代码层面没有任何问题


  • 服务器内部工作


  • Tomcat中有一个work目录;
  • IDEA中使用Tomcat的会在IDEA的tomcat中产生一个work目录。找到我们想要找的web项目下的jsp。我们会发现页面转变成了Java程序


  • 浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet


微信图片_20211229182641.png


  • JSP最终也会被转换成为一个Java类;


  • JSP本质上就是一个Servlet


//初始化
public void _jspInit(){
}
//销毁
public void _jspDestroy(){
}
//JSPService
public void _jspService(.HttpServletRequest request,final javax.servlet.http.HttpServletResponse response){
}


1.判断请求


2.内置了一些对象


final javax.servlet.jsp.PageContext pageContext;//页面上下文
javax.servlet.http.HttpSession session = null;//session
final javax.servlet.ServletContext application;//applicationContext
final javax.servlet.ServletConfig config;//config
javax.servlet.jsp.JspWriter out = null;//out
final javax.lang.Object page = this;//page:代表当前页
HttpServletRequest request;//请求
final javax.servlet.http.HttpServletResponse response//响应
javax.servlet.jsp.JspWriter _jsp_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;


3.输出页面前的增加代码


response.setContentType("text/html");//设置响应的页面类型
pageContext = _jspFactory.getPageContext(this, request, response,null,true,8192,true);
_jsp_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;


4.以上的这些对象我们可以在JSP页面中直接使用


<%
String name = "hhh";
%>
name : <%=name%>


在JSP中只要是Java代码就会原封不动的输出;如果是HTML代码,就会被转换成


out.write("<html>\r\n");


这样的格式输出


  • 我们导入源码后发现它继承了一个HttpJspBase。这个包是在org.apache.jasper.runtime下


3. JSP基础语法


任何语言都有自己的语言,Java中有,JSP作为java技术的一种应用,它拥有一些自己扩充的语法(了解),Java所有语法都支持!


JSP表达式


<%-- JSP表达式 
    作用:用来将程序的输出,输出到客户端
  --%>
  <%= new java.util.Date()%>


JSP脚本片段


<%--jsp 脚本片段--%>
  <%
    int s = 0;
    for (int i = 0; i <= 100 ; i++) {
      s += i;
    }
    out.println("<h1>s=" + s +"</h1>");
  %>


脚本片段的再实现


<%
    int x = 10;
    out.println(x);
  %>
  <h1>hhh</h1>
  <%
    /*这里如果还是x的话会报错*/
    int y =20;
    out.println(y);
  %>
<%--在代码中嵌入HTML元素--%>
  <%
    for (int i = 0; i <3 ; i++) {
  %>
<%--EL表达式--%>
<%--<%=i%>也可以写成${=i}--%>
  <h1>Hello,<%=i%></h1>
  <%
    }
  %>


JSP声明


<%!
    static{
      System.out.println("LoadingServlet!");
    }
    private int globalVar = 0;
    public void hxl(){
      System.out.println("进入了这个方法!");
    }
  %>


JSP声明:会被编译到JSP生成Java的类中,其他的就会被生成到_jspService方法中


在Jsp嵌入Java代码即可。


<%%>
<%=%>
<%!%>
<%--注释--%>


JSP的注释不会在客户端显示,但是HTML的注释不会显示。

相关文章
|
XML SQL Java
用最简单的话语教你使用JSP(下)
用最简单的话语教你使用JSP(下)
用最简单的话语教你使用JSP(下)
|
1月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
71 0
|
3月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
3月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
3月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
29 0
|
5月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
105 12
|
5月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
116 10
|
5月前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
61 9
|
5月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
68 7
|
5月前
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
74 8