2021.07.14Session、JSP、MVC模式、EL表达式

新建空项目

1.在IDEA中创建一个空项目

路径D:\d01\project\javawebaaa

项目名称 javawebaaa

文件->新建->空项目

2.可以在空项目中创建多个模块: 模块1 模块2 模块3 ......

模块1的路径:D:\d01\project\javawebaaa\webmod3

文件->新建->新模块->java Enterprise

模块2的路径:  D:\d01\project\javawebaaa\webmod4

文件->新建->新模块->java Enterprise

3.在一个模块中创建以下内容

(1)导入druid_mysql.properties配置文件

(2)导入JDBCUtils

(3)导入jar包

写代码要分层:三层架构

视图层:  界面层,用户能看到的部分

业务逻辑层: 处理业务逻辑

数据访问层:  数据访问

session

1.(1)获取session

(2)HttpSession session = request.getSession();

(3)存储数据(存储session)

session.setAttribute("info1", "valueOfInfo1");

(4)获取域对象

String str_info1 =(String)session.getAttribute("info1");

2.当客户端关闭后,服务器不关闭,两次获取session不是同一个,如果想是同一个可以进行设置,但是前提是客户端要打开cookie功能,不要手动删除cookie

3.销毁session

(1)关闭服务器的时候

(2)session对象调用invalidate() 。

(3)session默认失效时间 30分钟           

选择性配置修改      在web.xml中配置session存活时间

4.session的特点

(1)session用于存储一次会话的多次请求的数据,存在服务器端     

(2)session可以存储任意类型,任意大小的数据

5.session与Cookie的区别:       

(1)session存储数据在服务器端,Cookie在客户端     

(2) session没有数据大小限制,Cookie有      

 (3) session数据安全,Cookie相对于不安全

jsp

1.<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" pageEncoding="utf-8" %>

(1)errorPage="error.jsp" 当前页面发生异常后,会自动跳转到指定的错误页面

(2)isErrorPage:标识当前也是是否是错误页面。   (写在errorPage.jsp文件中)                          

true:是,可以使用内置对象exception                               

false:否。默认值。不可以使用内置对象exception

2.include    : 页面包含的。导入页面的资源文件           

 <%@ include    file="top.jsp"%>

将top.jsp文件中的内容引入到本文件中,在页面上显示

3.taglib : 导入资源           

<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core" %>             

 prefix:前缀,自定义的

4.注释:    

(1) html注释:       :只能注释html代码片段    

(2) jsp注释:推荐使用       <%-- --%>:可以注释所有

jsp中的内置对象

在jsp页面中不需要创建,直接使用的对象,一共有9个:

变量名                           真实类型                                            作用

pageContext             PageContext               当前页面共享数据,还可以获取其他八个内置对象

request                 HttpServletRequest         一次请求访问的多个资源(请求转发)

session                     HttpSession                  一次会话的多个请求间

application              ServletContext              所有用户间共享数据

response             HttpServletResponse        响应对象

page                         Object                             当前页面(Servlet)的对象,相当于this引用

out                         JspWriter                      输出对象,数据输出到页面上

config                  ServletConfig                    Servlet的配置对象

exception            Throwable               异常对象(isErrorPage=”true”标记当前页面是错误页)

面试    jsp四大域对象

域对象            对象的类型                      含义

pageContext      PageContext           当前页面共享数据,还可以获取其他八个对象 getXXXX

request          HttpServletRequest     一次请求访问多个资源(经常这样使用:前端页面Servlet,servlet进行处理,然后再请求转发)

session          HttpSession                  一次回话的多个请求之间共享数据(浏览器中cookie不关闭就可以获取到,)

application      ServletContext              所有用户间共享数据

( ServletContext翻译为Servlet上下文 或  应用程序上下文)

Servlet 三大域对象,比JSP少一个pageContext域对象

request 类型:HttpServletRequest需要手动获取

session 类型: HttpServlet需要手动获取

servletContext: 类型ServletContext

MVC:开发模式

1. jsp演变历史

    1.早期只有servlet,只能使用response输出标签数据,非常麻烦

    2.后来又有了jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,又写html表,造成难于维护,难于分工协作

    3.再后来,java的web开发,使用mvc开发模式,使得程序的设计更加合理性

2. MVC:

    1. M:Model,模型。(业务逻辑,JavaBean)

       *完成具体的业务操作,如:查询数据库,封装对象

    2. V:View,视图。一般是JSP或html文件

       *用来展示数据

    3. C:Controller,控制器。Servlet

       *获取用户的输入

       *调用模型

       *将数据交给视图进行展示

    *优缺点:

       1.优点:

           1.低耦合(解耦),方便维护,可以利于分工协作

           2.重用性高

       2.缺点:

           1.使得项目架构变得复杂,对开发人员要求高

EL表达式

1.作用:替换和简化jsp页面中java代码的编写

2.语法:${表达式}

3.注意:

   jsp默认支持el表达式的。如果要忽略el表达式

(1)设置jsp中page指令中:isELIgnored="true"忽略当前jsp页面中所有的el表达式

(2)     \${表达式} :忽略当前这个el表达式

+

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容