发表于: 2018-09-10 17:29:00

1 551


今日完成:

深度思考:

1.JSP是什么?JSP中可否直接连接数据库?为什么现在不推荐使用%%来写JSP的代码,而是使用C标签?  

java服务器页面(Java Serve Pages),由 Sun公司倡导,许多公司参与共同建立的一种动态网页技术标准。JSP技术类似ASP/ASP.NET技术,它是在传统的网页中插入Java代码段和JSP标记,从而形成JSP文件,web服务器接受到访问JSP网页的请求时,首先将JSP转化为servlet文件,servlet文件经过编译后处理用户的请求,然后将执行结果以HTML格式返回给用户。
jsp中可以直接连接数据库。
<c:out>标签:用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是标签可以直接通过"."操作符来访问属性。
2.Html有哪些常用的标签,CSS有几种引用方式,JS应该在顶部还是应该在底部加载? 
CSS引用方式:
1.嵌入式 样式表
嵌入式样式表很简单,秩序只要在需要应用样式的HTML标签上添加CSS属性就可以,这种方法主要用于对具体的标签做具体的样式设计,作用范围只限于本标签。
2.内联式样式表
内联式样式表利用<style></style>标签将对样式表定义在HTML文档的<head></head>标签对之间,内联式样式表的作用范围是本HTML文档。  
3.外联式样式表
外联式样式表是将定义好的CSS单独放到一个以css为扩展名的纯文本文件中,在使用<link>标签链接到网页中。
应该是遵循SS文件在header中引入,JS文件在body底部引入这条法则
3.SEO是什么,后端在用JSP的方式输出页面时,可以做的SEO优化有哪些?
SEO是英文Search Engine Optimization的缩写,中文译为“搜索引擎优化”。简单地说,SEO是指从自然搜索结果获得网站流量的技术和过程。更严谨些的定义可以表述为:SEO是指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的目标。
4.Tiles现在的版本是多少?Template,Attribute,Definition,ViewPreparer分别是什么?  
模板(Template)是一个页面的布局部分。你能将一个页面结构看成是由不同的需要填补空白组成。
属性(Attribute)是模板中的空白,它在你的应用程序中被填充到模板中。属性可以是以下三种类型:
  • string:属性是string的话,会将string直接呈现在页面。
  • template:属性是一个模板(Template),有无属性都行。如果有属性的话,你也要将他们填充后再呈现页面。
  • definition:它是一个可重复使用组成的页面,包含所有的属性来填充以呈现页面。
定义(definition)是呈现给最终用户的组合物;本质上,一个定义是由一个模板和完全或部分填充的属性组成的。说白了就是:一个定义是由一个模板和属性组成的。
视图助手(View Preparer)有时候一个定义在呈现之前需要“预处理”。例如,显示一个menu时,menu的结构必须被创建并且已经保存在request范围内。为了达到“预处理 ”,视图助手将会被用到,视图助手将在呈现定义之前被调用,因此在将“定义”呈现所需的东西都会被正确的“预处理 ”。
5.Tiles有什么用处,为什么要用Tiles,如果不使用Tiles,可以实现公共部分的复用吗? 
Tiles允许作者定义页面片段,这些片段可以在运行时被组合成一个完整的页面。这些片段或片可以被简单的包括在内,以便减少常见的页面元素的重复或者嵌入在其他的片中以开发一系列可重复使用的模板。这些模板简化了整个应用程序中一致的外观和感觉的开发

6.套页面的前后端协作方式中,怎么传递参数给前端JS?怎么控制页面之间的跳转? 

EL表达式

7.Velocity,Freemark是什么,和JSP的区别在哪里?推荐使用哪种模板语言?  
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅使用简单的模板语言(template language)来引用由java代码定义的对象。
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
好像freemark更好一点
8.EL表达式是什么?常用的EL表达式有哪些?
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
1、语法结构
${expression}
2、[ ]与.运算符
EL 提供"."和"[ ]"两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用"[ ]"。例如:
${ user. My-Name}应当改为${user["My-Name"]}
如果要动态取值时,就可以用"[ ]"来做,而"."无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
3、变量
EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传""。
9.C标签又是什么?怎么写一个自定义的标签?自定义的标签通常有什么用处?  
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言。
JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已。
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
JSTL 核心标签库(C标签)标签共有14个:
自定义标签
10.套页面和前后端分离的方式有什么区别,应该在哪种情况下选用哪种解决方式?  
开发模式
以前老的方式是:
1.产品经历/领导/客户提出需求
2.UI做出设计图
3.前端工程师做html页面
4.后端工程师将html页面套成jsp页面(前后端强依赖,后端必须要等前端的html做好才能套jsp。如果html发生变更,就更痛了,开发效率低)
5.集成出现问题
6.前端返工
7.后端返工
8.二次集成
9.集成成功
10.交付
1.产品经历/领导/客户提出需求
2.UI做出设计图
3.前后端约定接口&数据&参数
4.前后端并行开发(无强依赖,可前后端并行开发,如果需求变更,只要接口&参数不变,就不用两边都修改代码,开发效率高)
5.前后端集成
6.前端页面调整
7.集成成功
8.交付
现在一般都是前后端分离


明日计划:

把问题解决,开始任务五。


遇到问题:

1 最初页面一直和模板的不同,后来终于发现原因,导入css时必须要导入webapp下的目录,我一直导入的时WEB-INF下的,但是还不知道为什么。

2 页面字体颜色不对

模板字体是黑色,我的字体颜色是白色的。

3 一直没有用过c标签



今日收获:

看了看深度思考,才知道link是用来引入css的。




返回列表 返回列表
评论

    分享到