任务4深度思考
1.JSP是什么?JSP中可否直接连接数据库?为什么现在不推荐使用%%来写JSP的代码,而是使用C标签?
JSP,Java服务器页面,相当于一个简化的servlet,可以理解为html(静态页面)和java代码(动态数据)的结合;
Jsp可以直接连接数据库,jsp中的java脚本块---就是java代码,在<%%>中进行连接;
mvc思想的出现,目的就是为了降低耦合性,将html代码和java代码分离;通过c标签和EL表达式,在结合mvc框架,可以实现java脚本块<%%>的作用;
2.C标签又是什么?怎么写一个自定义的标签?自定义的标签通常有什么用处?
JSP标准标签库JSTL,一个jsp标签的集合;其中的核心标签就是c标签:主要功能包括循环、分支、表达式控制、URL操作(重定向等)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
自定义标签:
(1)通过重写SimpleTagSupport中的doTag()方法(处理标签的java类,也就是要实现的功能);
通过.tld文件创建标签库
最后在jsp中,通过
<%@ taglib prefix="?" uri="WEB-INF/?.tld"%>引入使用。
(2) 自定义的函数,不需要重写doTag()方法,但类中的方法要为static;
自定义标签:通过自定义标签实现类来实现复杂的、可重复利用的功能。
3.EL表达式是什么?常用的EL表达式有哪些?
EL表达式(JSP表达式语言),目的替代java代码块访问JavaBean中的数据的功能,是jsp写起来更简单,mvc+jsp标签+EL表达式-----去替代jsp中的java代码部分。
语法规则${ } ;主要的使用还是通过EL中的隐含对象来获取对应的值
4.Velocity,Freemark是什么,和JSP的区别在哪里?推荐使用哪种模板语言?
Velocity,Freemark实现严格的mvc分离,不能编写java代码,而jsp恰恰相反,jsp是官方标准,用户群广,有丰富的第三方jsp标签库,而Velocity,Freemark不是官方标准。
选择freemarker的原因:
1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
2、宏定义比jsp tag方便
3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
4、支持jsp标签
5、可以实现严格的mvc分离
相比较 FreeMarker 而言,Velocity 更加简单、轻量级,但它的功能却没有 FreeMarker 那么强大。
具体选择还是看场景而定。
5.套页面的前后端协作方式中,怎么传递参数给前端JS?怎么控制页面之间的跳转?
(1)直接通过var name="<%=username%>";js可以获取到参数
(2)var username=document.getElementById("username").value;前提要通过建一个隐藏表单,从java中获取到;
6.Tiles有什么用处,为什么要用Tiles,如果不使用Tiles,可以实现公共部分的复用吗?
Tiles是一种JSP布局框架,主要目的是将复杂的jsp页面分隔成部分,然后将各个模块组合成一个完整的页面;便于对页面的各个机能的变更及维护,并且更容易实现代码的重用。
可以通过<c:import>标签引入页面、JSP的 include指令:包含其他文件
7.Tiles现在的版本是多少?Template,Attribute,Definition,ViewPreparer分别是什么?
Tiles最新版本3.0.8,最后发布时间2017-10-31;
Template(模板),即页面布局,确定各个页面模块的分布;
Attribute(属性),Template中添加的内容
Definition(定义),通过xml文件,填入各部分具体的内容;
ViewPreparer,Tiles提供的公共接口,其中的execute方法会在defintion渲染之前执行;实现该接口的类为视图预备类;
8.SEO是什么,后端在用JSP的方式输出页面时,可以做的SEO优化有哪些?
SEO(Search Engine Optimization)汉译为搜索引擎优化,利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名;
优化的内容:网站url、title信息、meta信息、图片alt、flash加注释信息
除了第一点,其他内容相当于将关键的内容,放在相应的位置,尽量通过文字信息加注释;
也就是后端主要是做一个网站url的优化
9.Html有哪些常用的标签,CSS有几种引用方式,JS应该在顶部还是应该在底部加载?html常用标签: <h1>-<h6>、 <p>、 <a>、 <img>、 <form>( <input>)、<br/>、<ol><li>、<ul><li>
总体的结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
css:(1)行内样式;直接跟在相应的标签中(2)内部样式表(把css代码写在head部分中的style标签内);(3)外部样式表( CSS代码保存在扩展名为.css的样式表中,通过链接式或导入式引入)10.套页面和前后端分离的方式有什么区别,应该在哪种情况下选用哪种解决方式?套页面:前端写好页面,后端进行整合为jsp,前后端分离:通过restful风格接口,传递json;后端只提供接口,前端进行整合调试
评论