Jsp学习
jsp语法格式:
脚本程序:<% 代码片段 %>
jsp声明:<%! declaration; [ declaration; ]+ ... %>
表达式:<%= 表达式 %>
jsp注释:<%-- 该部分注释在网页中不会被显示--%>
jsp指令:<%@ directive attribute="value" %>
jsp行为:<jsp:action_name attribute="value" /> <%= request.getParameter(“account”) %>
使用上面一条语句可以在表单中获取name为account的元素值,也就是account的具体值。
例:(学会在jsp页面使用java语句)
<%String account = request.getParameter("account");
String password = request.getParameter("password");
if(account.equals("qingjun")&&password.equals("123")) { %>
<jsp:forward page="ForwardTest_Success.jsp"></jsp:forward>
<% } else { %>
<jsp:forward page="ForwardTest_Fail.jsp"></jsp:forward>
<% } %>
forward是跳转页面用的组件
page指令:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> language,contentType,import 属性用的多,import引入的多个java类包用逗号隔开 被插入的jsp页面page中的contentType属性和本jsp文件必须保持一致。
Include指令标记和动作标记的区别:
Include指令标记:一起编译执行,一个servlet。通过file属性指定文件,不支持表达式。包含被包含文件一起编译,不能有重名的方法或变量。
动作标记:
Include动作标记:该标识执行时,程序会请求转发到被包含页面,将执行结果输出到浏览器中,然后返回页面继续执行后面。通过page属性指定文件,支持表达式。不一起编译,可以有重名的方法或变量。
<!--<%@ include file="Date.jsp" %>include指令标记-->
<!-- include动作标记,将要引入文件的url写成属性内容 -->
<jsp:include page="Date.jsp"></jsp:include>
对应jsptest的pagetest01.jsp
Forword动作标记:转向另一个页面,原页面停止执行,浏览器栏显示的仍然是原jsp页面的url。
<form action="Forward_CheckLogin.jsp" method="post">
<input name="account" type="text" />
<br>
<input name="password" type="text" />
<br>
<button name="login" type="submit">登录</button>
</form>
转向
<%
String account = request.getParameter("account");
String password = request.getParameter("password");
if(account.equals("qingjun")&&password.equals("123")) {
%>
<jsp:forward page="ForwardTest_Success.jsp">
<jsp:param value="123456" name="qwe"></jsp:param>
</jsp:forward>
<% } else { %>
<jsp:forward page="ForwardTest_Fail.jsp"></jsp:forward>
<% } %>
对应jsptest的forward系列,forward动作标记在forward_checklogin.jsp中用到
request内置对象:
request在接受信息前用request.setCharacterEncoding(“UTF-8”);设置编码方式。
<% request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String password = request.getParameter("password");
out.println("用户名:"+name);
out.println("密码:"+password);
%>
对应jsptest的request系列,request内置对象在request.jsp中用到
response内置对象:
动态响应:response.setContentType("application/msword;charset=utf-8");//把当前页面设置成word文档的形式,教程教的比较片面?我感觉response很多功能都没讲吧。
<body>
<p>将当前页面保存为word文档吗
<form action="" method="post">
<input type="submit" value="yes" name="submit">
</form>
<%
String str=request.getParameter("submit");
if (str==null) {
str="";
}
if(str.equals("yes")) {
response.setContentType("application/msword;charset=utf-8");
}
%>
</body>
重定向:response.sendRedirect("ResponseTest2.jsp");//重定向到ResponseTest2.jsp
<form action="Response.jsp" method="post">
<input type="text" name="name">
<input type="submit" value="提交" name="submit">
</form>
提交到:
<%request.setCharacterEncoding("utf-8");
String name=request.getParameter("name"); //获取到了name
if(name==null||name.length()==0) {
response.sendRedirect("ResponseTest2.jsp");//重定向到ResponseTest2.jsp
}
%>
<h1> 欢迎<%= name %> </h1>
希望以后再用到这些东西我看笔记能懂怎么写
对应jsptest的response系列,response内置对象在response.jsp和responsetest.jsp中用到。
session内置对象:
tomcat服务器使用session内置对象来记录有关连接的信息。从一个客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器结束,被称为一个会话。session对象在第一个页面装载时自动创建,完成会话管理。 第一次打开tomcat,session对象建立,关闭网页,但tomcat还开着,那么session对象还存在,直到关闭tomcat服务器,刚开始我以为这和application内置对象生命周期是一样的,但当我设定session.setMaxInactiveInterval(5)之后它只能存在5s了,希望在今后的学习中继续了解session内置对象。session可用函数见eclipse里我的练习。session.setMaxInactiveInterval(5);这个函数只能放在<% %>中,我把他放到<%= %>里面就报错了。如下:
严重: Servlet.service() for servlet [jsp] in context with path [/Jsptest] threw exception [Unable to compile class for JSP:
An error occurred at line: [18] in the jsp file: [/SessionTest.jsp]
The method print(boolean) in the type JspWriter is not applicable for the arguments (void)
严重:servlet [jsp]的Servlet.service()在路径[/ Jsptest]的上下文中引发了异常[无法为JSP编译类:
在jsp文件中的第[18]行发生错误:[/SessionTest.jsp]
JspWriter类型中的方法print(boolean)不适用于参数(void)
我只是粗浅的了解了一些session的特性,session的应用还没学到。希望今后能继续学习这方面的内容。只恨自己学的太慢,学的太少。
session的一些方法:
session.getCreationTime();
session.setAttribute("username", "qingjun");
session.getAttribute("username");
session.getId();
session.setMaxInactiveInterval(5);
对应jsptest的session系列。
application内置对象:
&nbsp在html中表示空格
用户共有的一个application对象,所有操作都是对一个application进行操作,服务器启动生成application对象,服务器停止注销该对象。
<%
application.setAttribute("username", "qingjun");
application.setAttribute("password", "123");
application.setAttribute("E-mail", "daaijibu@163.com");
%>
用户名:<%= application.getAttribute("username") %><br>
application中的属性:
<%
Enumeration attributes; //定义一个枚举类型的变量
attributes = application.getAttributeNames(); //将application中的全部属性的枚举集合类赋给attributes
while (attributes.hasMoreElements()) {
out.println(attributes.nextElement()+"&nbsp;&nbsp;"); //遍历attributes,输出application的全部属性 &nbsp是空格的意思
}
%>
对应jsptest的ApplicationTest.jsp。
out内置对象:主要用来处理缓存区中的信息。这个很常用,直接上代码
<%
out.println("若逢新雪初霁,满月当空,下面平铺着皓影,上面流转着亮银,");
out.flush(); //将缓存区内容输出,如果不加这一句,上面那句话就输出不出来
out.clearBuffer(); //将缓存区中的内容清除
out.println("而你带着笑向我步来,月色与雪色之间,你是第三种绝色。");
%>
对应jsptest的OutTest.jsp。
param内置对象:
<jsp:forward page="ForwardTest_Success.jsp">
<jsp:param value="123456" name="qwe"></jsp:param></jsp:forward>
是个jsp:forward里面一层的对象,可以顺带把参数传到page中的页面。
对应jsptest的Forward_CheckLogin.jsp.

一个简单的jsp学习总结,加油继续学习,希望你每天都是不一样的自己。

然后不要懒惰,天气凉下来了,思绪也冷静下来专注于己,不断成长吧。

为了凑够150个字,分享一个我近两年喜爱的钢琴师,听他的曲子是永远听不腻的,每次听都会有新的感受。
罗伯托·卡恰帕利亚(Roberto Cacciapaglia)
罗伯托·卡恰帕利亚出生于米兰,毕业于米兰朱塞佩·威尔第音乐学院,在作曲专业之外,还学习了指挥和电子音乐。在任职于米兰的意大利国家电视台期间,与比萨的国家研究理事会合作,同时学习音乐软件运用。
作为艺术家,他不仅专注于古典音乐,作品还渗透了多种不同的音乐风格和类型,融合了先锋主义、摇滚语言、计算机音乐、实验性音乐、电子音乐以及具有概念性和普遍艺术性的音乐元素。作为作曲家和钢琴家,他是国际舞台上创新音乐领域的关键人物,他的作品将电子实验音乐与古典传统融合在一起。多年来,罗伯托·卡恰帕利亚一直在研究声音的力量,寻求通过深度的情感接触表达出超越边界的音乐。

jsp学习:jsp学习阶段性总结2019.9.21的更多相关文章

  1. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. JavaWeb学习----JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. javaweb学习--jsp

    阅读电子书<Java Web从入门到精通>密码:461c,学习JavaWeb基础知识.由于本人已有html基础,所以直接略过前面部分,进入jsp学习 jsp页面添加库引用,引入项目文件 引 ...

  5. 学习 JSP:第二步 创建一个JSP Web Project

    接上文 学习 JSP:第一步Eclipse+Tomcat+jre(配置环境) [创建新工程](Dynamic Web Project) 1.选择 "File-->New-->Dy ...

  6. # jsp及servlet学习笔记

    目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...

  7. 学习JSP篇:jsp简单介绍

    这几天开始学习JSP和Servlet,写些博客,记录自己的学习过程,算是自己从业开始的一个见证. 一.什么是JSP JSP的全称是Java Service Page,一种动态的网页开发技术,区别于静态 ...

  8. JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)

    1.什么JSP * servlet:java编写的处理动态web的技术 * 特点:Java代码中嵌套html代码 * jsp * 特点:HTMl代码中嵌套java代码 * %tomcat%/conf/ ...

  9. jsp学习--JSP运行原理,九大隐式对象和JSP常用标签

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

随机推荐

  1. 如何调教你的博客Episode1——修改整体样式

    如图所示,这是你刚刚注册的博客园博客,让我们开始一步步修改它. 1.写入自适应代码 html,body{ height:100%; border:; margin:; padding:; } body ...

  2. (三十九)c#Winform自定义控件-面包屑导航

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  3. 一、Ansible入门篇

    一.Ansible简介 Ansible是一个自动化运维的工具 基于python语言编写,因此机器需要具备python环境. 通过ssh的连接方式进行自动化部署,ansible优先使用OpenSSH,在 ...

  4. springboot入门案例----eclipse编写第一个springboot程序

    对于刚入门的springboot的新手来说,学的过程中碰到的一些问题记录下. 首先,配置好Maven环境及本地仓库 之后进入Maven安装目录conf文件夹下的settings.xml配置文件,用No ...

  5. vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  6. nessus安装

    1.安装注册 (1)从https://www.tenable.com/products/nessus/select-your-operating-system上下载对应操作系统版本的nessus,结果 ...

  7. LoRaWAN_stack移植笔记(四)__RTC

    stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱 ...

  8. linux系统破解密码。

    Linux系统Centos7及RedHat7破解密码 步骤如下: 1.开机之后按"e"键 2.找到以linux16的开头的行在行尾添加 rd.break console=tty0 ...

  9. SpringBoot Mybatis解决使用PageHelper一对多分页问题

    一般来说使用 PageHelper 能解决绝大多数的分页问题,相关使用可在博客园上搜索,能找到很多资料. 之前我在做SpringBoot 项目时遇到这样一个问题,就是当一对多联合查询时需要分页的情况下 ...

  10. 从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之四Nlog记录日志至数据库

    为什么要进行日志记录呢?为什么要存至数据库呢?只能说日志记录是每个系统都应当有的. 好的日志记录方式可以提供我们足够多定位问题的依据.查找系统或软件或项目的错误或异常记录.程序在运行时就像一个机器人, ...