发表于: 2019-12-26 22:38:27

1 983



今天做了什么

修改task的职业页面profession的逻辑是放入五个不同分类的方向list然后单独遍历

具体效果


task4深度思考

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

JSP,Java服务器页面,相当于一个简化的servlet,可以理解为html(静态页面)和java代码(动态数据)的结合;
Jsp可以直接连接数据库,jsp中的java脚本块---就是java代码,在<%%>中进行连接;
mvc思想的出现,目的就是为了降低耦合性,将html代码和java代码分离;通过c标签和EL表达式,在结合mvc框架,可以实现java脚本块<%%>的作用;

                  

2.Html有哪些常用的标签,CSS有几种引用方式,JS应该在顶部还是应该在底部加载? 

html常用标签: <h1>-<h6>、 <p>、 <a>、 <img>、 <form>( <input>)、<br/>、<ol><li>、<ul><li>

css:
(1)行内样式;直接跟在相应的标签中
(2)内部样式表(把css代码写在head部分中的style标签内);
(3)外部样式表( CSS代码保存在扩展名为.css的样式表中,通过链接式或导入式引入)

javascript代码写在<head>里面:

由于这时候网页主体(body)还未加载,所以这里适合放一些不是立即执行的自定义函数,立即执行的语句则很可能会出错(视浏览器而定)

javascript代码写在<body>里面:

这里可以放函数也可以放立即执行的语句,但是如果需要和网页元素互动的(比如获取某个标签的值或者给某个标签赋值),Javascript代码务必在标签的后面

javascript代码写在<body>下面:

这时候整个网页已经加载完毕了,所以这里最适合放需要立即执行的命令,而自定义函数之类的则不适合。

所以一般放在底部好一点

          

3.SEO是什么,后端在用JSP的方式输出页面时,可以做的SEO优化有哪些?   

SEO(Search Engine Optimization)汉译为搜索引擎优化,利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名;
优化的内容:网站url、title信息、meta信息、图片alt、flash加注释信息
除了第一点,其他内容相当于将关键的内容,放在相应的位置,尽量通过文字信息加注释;
也就是后端主要是做一个网站url的优化

            

4.Tiles现在的版本是多少?Template,Attribute,Definition,ViewPreparer分别是什么?   

Tiles最新版本3.0.8,最后发布时间2017-10-31;
Template(模板),即页面布局,确定各个页面模块的分布;
Attribute(属性),Template中添加的内容
Definition(定义),通过xml文件,填入各部分具体的内容;
ViewPreparer,Tiles提供的公共接口,其中的execute方法会在defintion渲染之前执行;实现该接口的类为视图预备类;

                    

5.Tiles有什么用处,为什么要用Tiles,如果不使用Tiles,可以实现公共部分的复用吗? 

Tiles是一种JSP布局框架,主要目的是将复杂的jsp页面分隔成部分,然后将各个模块组合成一个完整的页面;便于对页面的各个机能的变更及维护,并且更容易实现代码的重用。
可以通过<c:import>标签引入页面、JSP的 include指令:包含其他文件

不使用可以Tiles也可以实现公共部分的复用 ,如前端的框架组件本质上就是对代码进行复用                  

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

后端通过httprequest 可以得到请求信息,前端model和ModelAndView得到后端返回的数据

1.onclick跳转
设置window的location.href属性

    onclick="window.location.href='URL'"
    onclick="location='URL'"

2.调用window的open方法

    onclick="window.open('URL','_blank');" // 在新窗口打开
    onclick="window.open('URL','_self');" // 覆盖当前页

3.a标签跳转

    <a href="URL" target="_blank">Preface</a> // 在新窗口打开
    <a href="URL" target="_self">Preface</a> // 覆盖当前页,target属性默认为_self,此处可省略

使用可以使用拦截器拦截跳转请求

                  

7.Velocity,Freemark是什么,和JSP的区别在哪里?推荐使用哪种模板语言?

Velocity、Freemark、Jsp同为java领域的表现层技术;其他两者的出现是在mvc思想出现之后,而产生的替代jsp的模板语言;本质上还是为套页面的开发方式而服务的。
最大的区别应该在于jsp由java脚本和html代码共同组成;其他两者实现严格的mvc分离。

还有jsp为官方标准、用户群广

简单来说,前后端分离使用Velocity,Freemark好一点,不分离的情况使用jsp多一些

                    

8.EL表达式是什么?常用的EL表达式有哪些?

EL表达式(JSP表达式语言),目的替代java代码块访问JavaBean中的数据的功能,是jsp写起来更简单,mvc+jsp标签+EL表达式-----去替代jsp中的java代码部分。
语法规则${ } ;主要的使用还是通过EL中的隐含对象来获取对应的值

                      

9.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;
自定义标签:通过自定义标签实现类来实现复杂的、可重复利用的功能。

                  

10.套页面和前后端分离的方式有什么区别,应该在哪种情况下选用哪种解决方式?                     

套页面:前端写好页面,后端进行整合为jsp,
前后端分离:通过restful风格接口,传递json;后端只提供接口,前端进行整合调试
套页面得要前端把页面写出来后端才可工作,前后端是写好接口文档就开始同时按照接口文档工作。套页面的使用场景应该是在前端已经发布之后,需要修改部分功能,后端保证前端页面不变的情况下,通过套页面增加功能。前后端分离就是同时进行开发


个人脑图


明天要做什么

进行任务五,对登录注册进行加密

学习cookie,session,token




返回列表 返回列表
评论

    分享到