JSP应用开发与实践第11章 JSTL核心标签库

合集下载

JAVAWEB面试题(含答案)

JAVAWEB面试题(含答案)

1、jsp和servlet的区别、共同点、各自应用的范围??JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

JSP编译后是“类servlet”。

Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

JSP侧重于视图,Servlet主要用于控制逻辑。

在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.2、cookie和session的作用、区别、应用范围,session的工作原理Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。

Session:保存在服务端,每一个session在服务端有一个sessionID作一个标识。

存储的数据量大,安全性高。

占用服务端的内存资源。

3、jstl是什么?优点有哪些??JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml和sql)和一对通用标记库验证器(ScriptFreeTLV和PermittedTaglibsTLV)组成。

优点有:最大程序地提高了WEB应用在各应用服务器在应用程序服务器之间提供了一致的接口,最大程序地提高了1、在应用程序服务器之间提供了一致的接口,之间的移植。

2、简化了JSP和WEB应用程序的开发。

3、以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet 代码的程序。

在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。

4、允许JSP设计工具与WEB应用程序开发的进一步集成。

相信不久就会有支持JSTL的IDE 开发工具出现。

4、j2ee的优越性主要表现在哪些方面?MVC模式a、J2EE基于JAVA技术,与平台无关b、J2EE拥有开放标准,许多大型公司实现了对该规范支持的应用服务器。

项目开发经验总结(含5篇)

项目开发经验总结(含5篇)

项目开发经验总结(含5篇)第一篇:项目开发经验总结项目开发经验总结本人做项目经理工作多年,感到做这个工作最要紧的就是要明白什么是因地制宜、因势利导,只有最合适的,没有什么叫对的,什么叫错的,项目经理最忌讳的就是完美主义倾向,尤其是做技术人员出身的,喜欢寻找标准答案,耽误了工作进度,也迷茫了自己。

项目开始阶段是一个最重要的阶段。

项目经理在接手一个新项目的时候,首先要尽可能地多从各个方面了解项目的情况,如:1.这个项目是什么项目,具体大概做什么事情,是谁提出来的,目的是解决什么问题。

在国内很多客户都很不成熟的情况下,千万不要根据项目的名称望文生义地去想象项目的目标。

一个名为“办公自动化”的项目很有可能在你进场以后一个月才发现客户其实需要的是一个计算机生产管理辅助信息系统系统。

前期了解情况的工作越详细,后面的惊讶就越少,项目的风险就越小。

2.这个项目里牵涉哪些方面的人,如投资方、具体业务干系方、项目建成后的运营方、技术监督方等等,很多项目里除了业主单位的结构很复杂以外,还有一些其他单位也会牵涉进来,如项目监理公司、业主的行业主管机构等。

项目经理需要了解每个方面的人对这个项目的看法和期望是什么。

事先了解各个方面的看法和期望,可以让你在做项目碰到问题的时候,就每件事情分析哪些人会在什么方面支持你,哪些人会出于什么目的反对你,从而提前准备联合朋友去对抗敌人,让事情向你所希望的方向发展。

没有永远的朋友,也没有永远的敌人,只有一致的利益,这句话作为项目经理是一定要记住的;3.基本了解了客户的情况后,下面的事情就是了解自己公司各方面对这个项目的看法。

4.在做整体项目计划前,还要大致计算一下你手上的资源。

首先是时间,现在市场竞争激烈,往往很多项目要求在几乎不可能的时间范围里完成。

对于这一点,你在做项目的风险控制计划的时候要充分考虑。

其次是人员,根据项目预算和已往经验,大致计算一下未来的项目小组有多少种角色,每个角色目前公司是否有人,是否能完全归这个项目使用,是否需要另外招聘一些人员,招聘的准备工作要尽早启动。

JSP应用与开发技术第12、13、14章 课后习题答案

JSP应用与开发技术第12、13、14章 课后习题答案

第12章Servlet基础1.简述Servlet和JSP的关系。

答:Servlet是服务器端运行的一种Java应用程序。

当浏览器端有请求则将其结果传递给浏览器。

在JSP中使用到的所有对象都将被转换为Servlet或者非Servlet的Java对象,然后被执行,所以执行JSP实际上与执行Servlet是一样的。

2.简述Servlet的生命周期。

答:Servlet的生命周期可分为下面几个阶段:(1)装载Servlet。

(2)实例化一个Servlet实例对象。

(3)调用Servlet的init( )方法进行初始化。

(4)服务。

(5)卸载。

3.简述HttpSession接口的功能和使用方法。

答:.HttpSession接口是Servlet提供会话追踪解决方案。

HttpSession对象存放在服务器端,只是对cookie和url重写技术的封装应用。

使用HttpSession进行会话控制的过程:(1)获得一个HttpSession实例对象;(2)访问和设置与会话相关联信息,维护会话的状态;(3)废弃会话数据。

4.简述开发一个Servlet所需要的步骤。

答:第一步:编写Servlet实例第二步:在web.xml文件中配置该Servlet第三步:编写其它文件5.编写一个html页面和一个Servelt,实现利用Servelt的doPost方法读取html文件中Form表单内容。

答:参考12.6.26.写一个利用HttpSession接口的用户登录的Servlet,当用户已经登录时,返回欢迎信息;否则转向登录页面。

答:第一步:编写Servlet实例SessionServlet.java所示。

package com;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;/**** 使用HttpSession管理会话的登录Servlet*/public class LoginServlet extends HttpServlet {p rotected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { doPost(request, response);}p rotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=GB2312");PrintWriter out = response.getWriter();out.println("<html>");out.println("<body>");out.println("<head>");out.println("<title>使用HttpSession管理会话的登录页面</title>");out.println("</head>");out.println("<body>");// 获取会话对象HttpSession session = request.getSession();// 从会话对象中读取数据Boolean isLogin = (Boolean) session.getAttribute("isLogin");if (isLogin == null) {isLogin = Boolean.FALSE;}String user = request.getParameter("user");String password = request.getParameter("pass");if (isLogin.booleanValue()) {// 从会话对象中读取数据user = (String) session.getAttribute("user");Date loginTime = new Date(session.getCreationTime());out.println("<h2>欢迎您," + user + "!</h2>");out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");} else if ((user != null) && (password != null)) {// 在会话对象中保存数据session.setAttribute("user", user);session.setAttribute("isLogin", Boolean.TRUE);Date loginTime = new Date(session.getCreationTime());out.println("<h2>欢迎您," + user + "!</h2>");out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");} else {out.println("<h2>请在下面输入登录信息</h2>");out.println("<form method=\"post\" action=\"login\">");out.println("<table>");out.println("<tr>");out.println("<td>用户名:</td>");out.println("<td><input name=\"user\" type=\"text\"></td>");out.println("</tr>");out.println("<tr>");out.println("<td>密码:</td>");out.println("<td><input name=\"pass\" type=\"password\"></td>");out.println("</tr>");out.println("<tr>");out.println("<td></td>");out.println("<td><input name=\"ok\" type=\"submit\" value=\"确定\">");out.println("<input name=\"cancel\" type=\"reset\" value=\"重置\"></td>");out.println("</tr>");out.println("</table>");out.println("</form>");}out.println("</body>");out.println("</html>");}}第二步:在web.xml文件中配置该Servlet<web-app>……<!-- ServerInfoServlet definition --><servlet><description></description><display-name>getSession</display-name><servlet-name> getSession </servlet-name><servlet-class>com.SessionServlet</servlet-class></servlet><!-- SessionServlet definition --><servlet-mapping><servlet-name>getSession</servlet-name><url-pattern>/getSession</url-pattern></servlet-mapping>……</web-app>第13章使用Servlet过滤器和监听器1、什么是过滤器?什么是监听器?分别应用在哪些方面?答:对Web应用来说,过滤器就是驻留在服务器端,在源数据和目的数据间,对Web请求和Web响应的头属性(Header)和内容体(Body)进行操作的一种特殊Web组件。

第06章:EL表达式和JSTL

第06章:EL表达式和JSTL
%>
从最小的属性范围中查 找key属性,如果找到, 则不再继续查找
属性值key=${key};<br>
request范围内的key=${requestScope.key};<br> session范围内的key=${sessionScope.key};<br> session范围内的key1=${key1}; 直接从指定的属性范围 内查找属性名为key的属 性值
set 标签用于给变量 设置值和作用范围
插入使用核心标签的指令
<%@ taglib uri="/jsp/jstl/core" prefix="c"%>
<body> <c:set var= "example" value="${100+1}" scope="session" />
${er[1]} 得到集合中第二位的对象
EL表达式的简单应用
输出姓名显示
<% Map names = new HashMap(); names.put("one","LiYang"); names.put("two","WangHua"); request.setAttribute("names",names); %> 姓名:${names.one}<br/> 姓名:${names["two"] }<br/>
通用标签
<c:set>含有的属性包括value、var、scope、target和property等,这

JAVA培训机构教学大纲

JAVA培训机构教学大纲
Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
Linux网络:Linux网络的介绍、Linux网络的配置和维护
Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql
linux部署自己的java web实战项目
14
JSON和JAVA对象互相转化
JSON/GSON等类库
3
Struts2
55口弋$2核心控制流程、Ognl、Ation、Interceptor、Result、FreeMarker、Struts2标记、
Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提 交等)。Sptring整合Struts
4
Hibernate
ORM概念、Hibernate核心API、Hibernate实体映射技巧、HQL查询、OSCache及Hibernate缓存技术;Spring整合Hibernate
3
数据库设计
设计的三大范式;PowerDesigner的使用;
4
JDBC技术
JDBC基础;Statement、PreparedStatement、ResultSet结果集对象等。
5
数据库连接池技术
Pool池的思想;连接池技术;C3P0、proxool连接池等;使用设计模式开发连接池;详 细扩展与测试池效率;
2
Oracle数据库
Oracle体系结构及系统管理、Oracle数据库高级编程、数据库设计基础
3
JDBC
JDBC核心API(Connection、Satement、ResultSet)、JDBC优化技术(缓存技术、批处理 技术、连接池技术)
4
Xml

第09章 使用EL与JSTL

第09章 使用EL与JSTL

${msg}
</body> </html>
5
EL也是既可以直接写在HTML的标签内部, 也可以写在某个标签的属性中,例如: <% String s="index.jsp"; request.setAttribute("url", s); %>
<a href="${url}">这是一个超级链接,链接到首页</a> 实际输出: <a href="index.jsp">这是一个超级链接,链接到首页</a>
</body>
18
使用“.”操作符输出JavaBean类型对象的信息
19
“[ ]”操作符
如果从作用域中取出的对象不是映射类型 (Map)或者不是JavaBean的类型,需要使 用“[ ]”操作符处理。
“[ ]”操作符可以处理: 映射类型(Map)对象 JavaBean类型对象 数组类型对象 列表类型(List)对象 (EL3.jsp) (EL4.jsp) (EL5.jsp) (EL6.jsp)
${'a' < 'b'} ${"hip" > "hit"} ${'4' > 3}
false
true false true
10
空运算符
空运算符(empty)用来判断参数是不是null、 空字符串、空数组、空Map或者空集合,如 果是则返回true,否则返回false
EL表达式 ${empty null} ${empty ""} 结果 true true

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素

JSP开发案例教程
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件

chapter15_标准标记库(JSTL)


9/67
例:el.jsp
<jsp:useBean id="user" class="er"> <jsp:setProperty name="user" property="*"/> </jsp:useBean> <body> 获取参数方法一: 获取参数方法一 <hr/> 姓名:${erName}<br> 姓名 密码:${user.password }<br> 密码 年龄:${user.age }<hr> 年龄 获取参数方法二: 获取参数方法二 <hr/> 姓名:${erName}<br> 姓名:${erName}<br> 密码:${param.password }<br> 密码 年龄:${param.age }<hr> 年龄 获取参数方法三: 获取参数方法三 <hr/> 姓名:${param['userName']}<br> 姓名 密码:${param['password'] }<br> 密码 年龄:${param['age'] }<hr> 年龄 <p>
<hr/> 表单 <form> 姓名: 姓名 <input name="userName"><br> 密码: 密码 <input name="password"><br> 年龄: 年龄 <input name="age"><br> <input type="submit"> </form>

第08章 JSP核心表达式与标签


8.1.4 JSP表达式隐藏对象
返回
JSP表达式简介
表达式语言( EL)是 JSP2.0 版本之后引入的新功能, 该语言是一种简单,容易使用的语言并且可以使用标签 快速的访问JSP的隐含对象和JavaBean组件。 表达式语言虽然是一种简单的语言,但它可以非常 方便的操作各种算术、关系、逻辑或空值测试运算符, 从而提高运算效率。
调用El表达式的一般格式如下: ${expression}
注意:$和{}不要漏写,它是组成EL表达式不可缺少的一部分。
返回
JSP表达式使用 (1)
例如:
<table width="241" height="96"> <tr> <td align="center" bgcolor="#FFFFFF">6-2=${6-2}</td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">4*6=${4*6}</td> </tr> </table>
(2)用于访问环境信息的对象如表所示。
隐藏对象 cookie initParam header param headerValues 类型 Java.util.Map Java.util.Map Java.util.Map Java.util.Map Java.util.Map 含义 把单个的cookie对象映射到cookie名当中 把单个值映射到上下文初始化参数的名称当中 映射请求头名到单个字符串数组 把单个字符串参数值映射到请求参数名当中 把字符串数组映射到请求头名称当中

ch08 EL表达式与JSTL库


3.SQL 标签库 (SQL tag library) SQL库定义了用来查询关系数据库的操作。 核心标签库声明如下。 prefix为:sql。 uri为:/jsp/jstl/sql。 4.XML 标签库 (XML tag library) XML库包含一些标记,这些标记用来操作通过 XML 表示的数据。 核心标签库声明如下。 prefix为:xml。 uri为:/jsp/jstl/xml。 5.函数标签库 (Functions tag library) 函数标签库通常用于EL表达式语句中,可以简化运算。 核心标签库声明如下。 prefix为:fn。 uri为:/jsp/jstl/functions。
JSTL核心标签库 1、表达式操作out、set、remove (2) <c:set>设置某个特定对象的一个属性 <c:set value="value" var="varName" [scope= "{page|request|session|application}"]/ > 如 <c:set value="zhou" var="uname"/>相当于: <% pageContext.setAttribute("uname","zhou"); %> <c:set value="zhou" var="uname" scope="session"/>
1、输出某一个范围内的变量值 ${name}。它的意思是读出某一范围中名称为name的变量。 因为我们并没有指定哪一个范围的name,所以它会依序从 Page、Request、Session、Application范围查找。 我们要取得session中储存一个属性name的值,可以利用下列方 法: <%=session.getAttribute("name")%> 取得name的值, 在EL中则使用下列方法 ${name}或${} sessionScope是EL中与范围有关的隐含对象。与范围有关的 EL 隐含对象包含以下四个:pageScope、requestScope、 sessionScope 和applicationScope。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档