9.25 [JavaWeb] JSP

JSP

JSP——Java Server Page:Java服务端页面,在html页面中编写Java代码的页面。

绝大多数时候,我们希望响应的不是简简单单一句话,而是一个页面,我们用PrintWriter对象去写一个页面也是可以的,但缺点太明显。

所以直接返回一个页面,并且能够写Java代码就能大大简化我们的开发,这就是——JSP。
JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写。

JSP中9个隐式对象

隐式对象(或隐含变量):在JSP当中我们没有手动声明创建,但实际存在,可以直接使用的对象。
①request:客户端的请求信息被封装在request对象中,通过它才能了解用户的需求,然后做出响应

②response:包含了响应客户请求的有关信息,但在JSP中使用很少

③pageContext:页面的上下文,是PageContext的一个对象,可以从该对象中获取到其他8个隐含对象,也可以获取到当前页面的其他信息

④session:指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,知道客户端与服务器断开连接为止

⑤application:代表当前web应用,是ServletContext对象,能实现用户间数据的共享,可存放全局变量,它开始于服务器的启动,直到服务器的关闭,在此期间,此对象一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命周期

⑥config:当前JSP对应的Servlet的ServletConfig对象,可获取该Servlet的初始化参数(开发时基本不用),需要通过映射的地址才可以。

⑦out:JspWriter对象,调用out.println()可以直接把字符串打印到浏览器上

⑧page:page对象就是指向当前JSP页面本身,类型为Object,有点类似于类中的this,几乎不使用

⑨exception:该对象是一个例外对象,只有页面是一个错误页面,即isErrorPage设置为true的时候(默认为false)才能使用,否则无法编译。

注意:JSP可以放置在WEB应用程序中的除了WEB-INF及其子目录外的其他任何目录中

jsp 中的三大指令:

指令的格式:<%@>
page
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

contentType=“text/html 表示jsp中的类型 charset=UTF-8” 设置其编码格式 language=“java” 语言 errorPage=“welcome.jsp” 页面发生异常所有加载的页面
<%@ page import=“java.text.SimpleDateFormat” %>导包
include 指令: 引入其它jsp文件(基本上都是公共的部分)
<%@ include file=“head.jsp”%> 静态引入:适合引用纯html代码 先加载 再编译
taglib 指令一般引用第三方的表达式比如jstl表达式 fmt 格式化时间的

域对象

pageContext:属性的作用范围仅限于当前servlet或JSP页面

request:属性的作用范围仅限于同一个请求(考虑页面转发的情况)

session:属性的作用范围限于一次会话(浏览器打开直到关闭,称为一次会话,前提是在此期间会话没有失效),数据是用户独立的。(后面细讲)。

application:属性的作用范围限于当前WEB应用,是范围最大的属性作用范围,只要在一处设置属性,在其他各处的JSP或Servlet中都可以获取,直到服务器关闭。数据所有用户共享。

EL表达式

EL能够极大的简化我们的开发

EL 全名为 Expression Language,它原本是 JSTL 1.0 为方便存取数据所自定义的语言。当时 EL只能在JSTL标签中使用。到了JSP2.0 之后,EL已经正式纳入成为标准规范之一。

EL 隐含对象

如果我们在request和application中设置了同名属性怎么办?
与范围有关的隐含对象
applicationScope
sessionScope
requestScope
pageScope

JSTL

JavaServer Pages Standard Tag Library (1.1 ) ,它的中文名称为 JSP 标准标签函数库。JSTL 是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环。

jsp 中动态标签库

<%–动态包含某个界面–%>
<jsp:include page=“welcome.jsp”></jsp:include> 包含
<jsp:forward page=“welcome.jsp”></jsp:forward> 转发的标签库

时间的插件: My97 DatePicker

p a g e C o n t e x t . r e q u e s t . c o n t e x t P a t h 表 示 获 取 的 项 目 w e b 目 录 < < < f m : f o r m a t D a t e p a t t e r n = " y y y y " v a l u e = " {pageContext.request.contextPath} 表示获取的项目web目录 <%--对时间进行格式化的标签库--%> <%@taglib prefix="fm" uri="http://java.sun.com/jsp/jstl/fmt" %> <fm:formatDate pattern="yyyy" value=" pageContext.request.contextPathweb<<<fm:formatDatepattern="yyyy"value="{register.createTime}"></fm:formatDate>
pattern=“yyyy” 表示格式化时间的格式 value是需要格式化时间的值

使用的步骤:
1.下载其文件
2.新建js 把 下载的文件 与jquery 放入
3.在界面 引入js文件 首先必须引入jquery.js文件
4. 在需要引入的地方 οnclick=“WdatePicker({dateFmt:‘yyyy-MM-dd HH:mm:ss’})”

上传: ServletFileUpload 上传文件的核心的类

上传的基本步骤 1.导入第三方的jar包 加入依赖 上传的注意点:method=“post” enctype=“multipart/form-data” 必须是这两点
2.首页需要创建一个上传文件目录(文件夹)
3.检验提交的格式是否合法 ServletFileUpload.isMultipartContent(req); 为true 表示合法
4.实例化这个上传文件的核心类 ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
5.得到所有form 表单的fileItme 集合
6 得到每一个fileItem 然后判断每一个FileItem的类型 fileItem.isFormField() 如果是true 表示是文本类型,也就是不是文件
7.获取文件的名称,构建一个文件对象
8.构建一个完整的路径,写入到服务器 fileItem.write(f);
注意点: 获取其文本的值: fileItem.getString(“UTF-8”) 数据库保存是保存的图片的路径(一般相对路径或者是文件都可以)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值