JSP技术入门指南【一】利用IDEA从零开始搭建你的第一个JSP系统

JSP技术入门指南【一】利用IDEA从零开始搭建你的第一个JSP系统

Jsp技术入门指南【一】利用IDEA从零开始搭建你的第一个JSP系统


前言

  • 在前面的内容中,我们已经系统学习了 Web 开发的基础技术:从构建网页骨架的 HTML、美化页面的 CSS,到实现服务器端逻辑的 Java Servlet
  • 这些知识为我们打开了动态 Web 开发的大门,让我们能够通过 Servlet 处理客户端请求、操作数据库并返回动态数据。
  • 然而,在 Servlet 中直接拼接 HTML 代码实现页面渲染时,代码往往显得繁琐且难以维护 —— 有没有一种更简洁、更直观的方式,让开发者既能保留 Java 的强大逻辑处理能力,又能像编写 HTML 一样轻松组织页面结构?

JSP(JavaServer Pages)正是为解决这一问题而生

在这里插入图片描述
我的个人主页,欢迎来阅读我的其他文章
https://blog.ZEEKLOG.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.ZEEKLOG.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482
我的java-servlet知识文章专栏
欢迎来阅读指出不足
https://blog.ZEEKLOG.net/2402_83322742/category_12907265.html?spm=1001.2014.3001.5482

一、什么是JSP

  • JSP(Java Server Pages)是一种基于Java的服务器端技术,用于创建动态网页。
  • 它的本质是Servlet,但相比Servlet,JSP更加简洁易用,更适合开发动态页面。

1.1 JSP是干什么的?

  • JSP主要用于动态渲染页面。
  • 在传统的HTML页面中,内容是静态的,每次访问页面时,显示的内容都不会改变
  • 而JSP页面可以结合Java代码,根据用户的请求动态生成HTML内容

下面我们来看一些代码,后面会详细讲这些代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>动态问候语</title></head><body> <% java.util.Calendar cal = java.util.Calendar.getInstance(); int hour = cal.get(java.util.Calendar.HOUR_OF_DAY); String greeting; if (hour >= 6 && hour < 12) { greeting = "早上好!"; } else if (hour >= 12 && hour < 18) { greeting = "下午好!"; } else { greeting = "晚上好!"; } %> <h1><%= greeting %></h1></body></html>

运行结果

在这里插入图片描述

1.2 JSP与Servlet的关系是什么?

  • JSP可以看作是Servlet的扩展。
  • Servlet是一个运行在服务器端的Java程序,用于处理客户端的请求并返回响应
  • JSP页面在运行时会被转换成Servlet代码,然后由Servlet容器(如Tomcat)执行。
  • 这意味着JSP继承了Servlet的强大功能,同时提供了更简洁的语法,让开发者可以更方便地编写动态页面。

二、在Idea中创建第一个JSP系统

在开始前我们需要安装好IDEA以及java-web的环境

接着,右键单击test,找到模板设置

在这里插入图片描述

首先在右上角SE3文件里创建maven模板

在这里插入图片描述


在这里插入图片描述

构建好之后,下面我们将开始构造第一个JSP文件

在这里插入图片描述
在这里插入图片描述
  • 导入里面的库文件,然后应用,确定

找到web文件,新建jsp界面

在这里插入图片描述

继续创建在web下创建lib文件

在这里插入图片描述


在这里插入图片描述

然后在工件里找到web展开型,单击元模块,把test添加进去

在这里插入图片描述


在这里插入图片描述

找到test,添加web项目

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
  • 然后,输入我们的第一个jsp代码,hello jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Hello JSP</title></head><body><h1>Hello JSP</h1></body></html>

最后运行

在这里插入图片描述

然后,在上面的编辑设置里,部署我们的test工件

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

这就是我们的第一个jsp系统

三、JSP和HTML的差别

3.1 格式区别

HTML是一种静态标记语言,用于定义网页的结构和内容。它的文件扩展名是.html,内容主要是HTML标签,例如<h1><p><div>等。HTML文件的内容是固定的,每次加载页面时都不会改变。

<!DOCTYPEhtml><html><head><title>Hello, HTML</title></head><body><h1>Hello, HTML</h1></body></html>

JSP文件的扩展名是.jsp,它可以在HTML代码中嵌入Java代码。JSP页面的结构与HTML类似,但可以通过<% %><%= %>等标签嵌入Java代码,实现动态内容的生成。例如:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Hello JSP</title></head><body><h1>Hello JSP</h1></body></html>

3.2 注释区别

  • HTML注释:HTML注释使用<!---->包裹,例如<!-- 这是一个HTML注释 -->。HTML注释不会被浏览器解析,也不会显示在页面上。
  • JSP注释:JSP注释分为两种:
    • HTML注释:在JSP文件中,HTML注释的作用与HTML文件中相同,不会被浏览器解析。
    • JSP注释:使用<%----%>包裹,例如<%-- 这是一个JSP注释 --%>。JSP注释不会被发送到客户端,只在服务器端可见,用于注释Java代码。

以上就是这篇博客的全部内容,下一篇我们将继续探索JSP的更多精彩内容。

我的个人主页,欢迎来阅读我的其他文章
https://blog.ZEEKLOG.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.ZEEKLOG.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482
我的java-servlet知识文章专栏
欢迎来阅读指出不足
https://blog.ZEEKLOG.net/2402_83322742/category_12907265.html?spm=1001.2014.3001.5482
我的HTML专栏
欢迎来阅读指出不足
https://blog.ZEEKLOG.net/2402_83322742/category_12834817.html?spm=1001.2014.3001.5482
非常感谢您的阅读,喜欢的话记得三连哦
在这里插入图片描述

Read more

Web自动化之Selenium 超详细教程(python)

Web自动化之Selenium 超详细教程(python)

Selenium是一个开源的基于WebDriver实现的自动化测试工具。WebDriver提供了一套完整的API来控制浏览器,模拟用户的各种操作,如点击、输入文本、获取页面元素等。通过Selenium,我们可以编写自动化脚本,实现网页的自动化测试、数据采集等功能。它支持多种浏览器,如Chrome、Firefox、Edge等,并且提还供了丰富的语言绑定,包括Python、Java、C#等,使得开发者可以根据自己的需求选择合适的语言和工具链进行开发。         本文所有内容基于作者本人在使用python selenium进行web自动化任务时所遇到的实际问题和解决方案进行整理和总结。希望这些经验能够帮助到正在学习或使用python selenium进行web自动化的朋友们。 目录 selenium下载 WebDriver下载 添加到环境变量 selenium教程 导入的库 设置webdriver对象 设定options 打开网页 查找和定位元素 查找元素 定位元素 XPATH和CSS_SELECTOR 定位 ID定位 CLASS_NAM

By Ne0inhk
C语言游戏开发:Pygame、SDL、OpenGL深度解析

C语言游戏开发:Pygame、SDL、OpenGL深度解析

C语言游戏开发:Pygame、SDL、OpenGL深度解析 一、前言:为什么游戏开发是C语言开发的重要技能? 学习目标 * 理解游戏开发的本质:编写程序实现游戏逻辑、图形渲染、用户交互 * 明确游戏开发的重要性:支撑游戏产业的发展,成为游戏开发者的必备技能 * 掌握本章学习重点:Pygame、SDL、OpenGL的开发方法、避坑指南、实战案例分析 * 学会使用C语言开发游戏,实现游戏逻辑和用户交互 重点提示 💡 游戏开发是C语言开发的重要技能!随着游戏产业的发展,游戏开发的需求越来越大,C语言的高性能和可移植性使其在游戏开发中具有重要地位。 二、模块1:Pygame游戏开发基础 2.1 学习目标 * 理解Pygame的本质:基于SDL的Python游戏库,简化游戏开发 * 掌握Pygame的核心架构:窗口管理、事件处理、图形渲染、音频播放 * 掌握Pygame的开发方法:使用Pygame库进行游戏开发 * 掌握Pygame的避坑指南:避免窗口创建失败、避免图形渲染错误、避免事件处理错误 * 避开Pygame使用的3大常见坑 2.

By Ne0inhk
新手向:C语言、Java、Python 的选择与未来指南

新手向:C语言、Java、Python 的选择与未来指南

语言即工具,选对方向比埋头苦学更重要 你好,编程世界的新朋友!当你第一次踏入代码的宇宙,面对形形色色的编程语言,是否感到眼花缭乱?今天我们就来聊聊最主流的三种编程语言——C语言、Java 和 Python——它们各自是谁,适合做什么,以及未来十年谁能带你走得更远。 一、编程世界的三把钥匙:角色定位 如果把编程比作建造房屋,那么: * C语言是钢筋骨架:诞生于1972年,它直接与计算机硬件“对话”,负责构建最基础的支撑结构。 * Java是精装套房:1995年问世,以“一次编写,到处运行”闻名,擅长打造稳定、可复用的功能模块。 * Python是智能管家:1991年出生却在近十年大放异彩,像一位高效助手,用最少的指令完成复杂任务13。 二、核心差异对比:从底层到应用 1. 语言类型与设计哲学 * C语言:属于面向过程的编译型语言。代码在执行前需全部翻译成机器指令,运行效率极高,但需要开发者手动管理内存(类似自己打扫房间)15。 * Java:

By Ne0inhk

GLM-OCR开箱体验:上传图片秒转结构化数据,附Python调用代码

GLM-OCR开箱体验:上传图片秒转结构化数据,附Python调用代码 你是不是经常需要从图片中提取文字信息?比如扫描的合同、发票、表格,或者手机拍的文件照片。传统方法要么识别不准,要么只能提取文字却无法理解内容结构,最后还得手动整理,费时费力。 今天我要介绍的GLM-OCR,可能会彻底改变你的工作方式。这是一个基于多模态大模型的OCR工具,不仅能准确识别文字,还能理解文档结构,把图片内容直接转换成结构化的数据。最棒的是,它已经打包成镜像,一键部署就能用。 我花了半天时间测试了这个工具,上传了各种类型的图片——从清晰的印刷文档到模糊的手写笔记,从规整的表格到复杂的合同。结果令人惊喜:平均每张图片处理时间不到3秒,识别准确率超过90%,而且输出的都是整理好的结构化数据,直接就能用。 这篇文章将带你完整体验GLM-OCR的使用过程,从环境部署到实际调用,包括详细的Python代码示例。无论你是开发者还是普通用户,都能快速上手这个强大的工具。 1. GLM-OCR是什么?为什么比传统OCR更智能 1.1 不只是文字识别,更是文档理解 传统OCR工具就像是一个"识字机器"——它

By Ne0inhk