jsp第1讲(上集)
jsp讲解框架
(一)Java EE核心十三种技术介绍
(二)Java EE程序员修炼成精的法门
(三)jsp版本的用户管理系统演示
(四)jsp概述
(五)jsp的运行原理
(六)jsp版的计算器
6.1jsp中如何使用js(javascript)和css技术...
***************************************************************************
(一)Java EE核心十三种技术介绍
Java EE是一个开放的平台,它包括的技术还多,主要包括十三种核心技术。
在完成一个项目中,并不是这十三种技术都要用到,实际上是有选择的使用。换句话说,一个程序员不是非要把这十三种技术全部掌握了才能从事Java EE开发。但是必须掌握的技术是java,servlet,jsp。
(三)jsp版本的用户管理系统演示
在学习jsp技术过程中,将前面servlet版本的用户管理系统---->改为jsp版本的用户管理系统。在这个系统中,只使用jsp技术来完成(modell模式开发)。
并且在后面通过jsp版的用户管理系统的改写,可以非常自然的过渡到mv设计模式,更进一步过渡到mvc设计模式。
开发工具将使用:eclipse+myeclipse
(四)jsp概述
1、为什么会出现jsp技术?
程序员在开发过程中,发现servlet做界面非常不好,所以出现了jsp。
jsp=html+java片段+jsp标签+javascript(css)
jsp功能的强大因为可以与javabean结合使用(即:jsp作前台,javabean作后台)
jsp+javabean的基础上再结合servlet,就会构成mvc的开发模式。mvc模式是目前软件公司中相当通用的开发模式。
2、jsp的基本语法
1)指令元素--用于从jsp发送一个信息到容器,比如设置全局变量,文字编码,引入包等。
(1)page指令
<%@page contentType="text/html;charset=gb2312"%>
(2)include指令
<%@include file="filename"%>
(3)taglib指令--这个指令允许在jsp页面使用自定义的标签
<myTag:yourTag num1="123">
2)脚本元素--在一定程度上可以理解就是java的片段scriplet
(1)scriplet <% java代码%>
(2)表达式 <%=java表达式%> <%=rs.getString(1)%>
(3)declaration声明
<%!变量声明 %> 比如:<%! int count=10%>
<%!函数声明%>
<%! int jisuan(int num){
int result=0;
for(int i=0;i<num;i++){
result=result+i;
}
}
%>
3)动作元素--动作元素是使用xml语法写的,是jsp规定的一系列标准动作,在容器处理jsp时,当容器遇到动作元素时,就执行相应的操作。
(1)<jsp:useBean> //创建一个javabean实例
(2)<jsp:setProperty> //给一个javabean实例设置初始值
(3)<jsp:param> //给一个jsp设置参数,常常与<jsp:include>结合使用
<jsp:include file="info.jsp">
<jsp:param name="parameter1" value="parameter Value"/>
<jsp:param name="parameter2" value="parameter Value"/>
</jsp:include>
(4)<jsp:getProperty> //获得一个javabean实例的成员变量
(5)<jsp:include> //引入另外一个文件
(6)<jsp:plugin> //使用插件
(7)<jsp:forward> //转发
(8)<jsp:fallback>
4)jsp的九大内置对象
(1)out //向客户端输出数据,字节流
out.println("");
(2)request //接受客户端的http请求
getParameter(String name); //name表示表单的参数名
getParameterValues(String name); //使用得到是String[]
setAttribute(String name,Object obj); //设置名字为name的obj.值为obj
getAttribute(String name); //返回由name指定的属性值,如果不存在就返回null
getCookie();
(3)response //封装jsp的产生回应
addCookie(Cookie cookie);
sendRedirect("/welcome.jsp");
(4)session //用于保存用户的信息,跟踪用户的行为
setAttribute(String name,Object obj);
getAttribute(String name);
(5)application //多个用户共享该对象,可以做计数器
(6)pageContent //代表jsp页面的上下文
(7)exception //代表运行时的一个异常
getMessage();
(8)page //代表jsp这个实例本身使用比较少
(9)config // 代表jsp对应的servlet的配置可以得到web.xml中的参数
jsp第1讲(上集)的更多相关文章
- servlet第3讲(上集)----同一用户的不同页面共享数据
1.方法综述 2.Cookie 3.sendRedict()方法 4.隐藏表单
- servlet第2讲(上集)----创建servlet实例(实现servlet接口)
- servlet第2讲(上集)
- 坎坷路:ASP.NET 5 Identity 身份验证(上集)
之所以为上集,是因为我并没有解决这个问题,写这篇博文的目的是纪录一下我所遇到的问题,以免自己忘记,其实已经忘了差不多了,写的过程也是自己回顾的过程,并且之前收集有关 ASP.NET 5 身份验证的书签 ...
- jsp+servlet实现文件上传下载
相关素材下载 01.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- JSP实现大文件上传和下载
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
- K8S线上集群排查,实测排查Node节点NotReady异常状态
一,文章简述 大家好,本篇是个人的第 2 篇文章.是关于在之前项目中,k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务后的问题排查. 文章中所 ...
- JSP大文件分片上传
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...
- 不用代码趣讲 ZooKeeper 集群
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...
随机推荐
- Java代码之输出参数和(强制类型转换)
说明(因为Java中java Application的参数都是默认的字符型的数据,所以需要强制类型转换这一步骤) 设计思想: 向系统里输入若干个参数,计算出参数个数,利用for语句计算出参数的和.(程 ...
- ERROR Worker: All masters are unresponsive! Giving up
启动spark的时候发现,主节点(master)上的Master进程还在,子节点(Worker)上的Worker进程自动关闭. 在子节点上查询log发现: ERROR Worker: All mast ...
- @PostConstruct 和 @PreDestory
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...
- 使用minidom来处理XML的示例(Python 学习)(转载)
作者网站:http://www.donews.net/limodou/archive/2004/07/15/43609.aspx 一.XML的读取.在 NewEdit 中有代码片段的功能,代码片段分 ...
- LINQ To SQL 处理 DateTime?
LINQ To SQL 处理 DateTime? 类型 例子: 搜索栏含有最后扫描时间的日期(DateTime?)与多个其他条件(String) 现在需要写一个查询 : 查询符合最后扫描的日期的查询 ...
- neutron的agents
一般agent的模块主要由Neutron api.core plugin(如linux bridge plugin,ovs plugin等).XX agent scheduler.XX agent.X ...
- 为Array 添加indexOf
为array赋予属性 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (elt /*, from*/) { var ...
- python之~【空格】可不能随便加唷~
上个礼拜学习从.proto文件转xxpb2.py文件的时候,明明成功了的. 结果周末的时候在家里,以及今天周一来到公司电脑,都遇到同样的一个问题. 我就纳闷了.这个路径确实存在呀. 而且我找遍了搜索引 ...
- 浅谈MacOS-20155205郝博雅
预备作业3:安装虚拟机 我的电脑是MacBook Air,因此按照娄老师说的,不需要安装Linix系统便能完成之后的学习.所以我就浅谈一下用MacOS系统的感受. 优点:人性化&便捷 与同系列 ...
- WEB前端组件思想【日历】
DEMO2: 思路:首先获取元素节点元素--->根据点击事件隐藏显示元素--->建立showdate方法(判断12月 则右边年份+1,月份1 )--->还要设置btn开关 防止多次重 ...