framemark jsp对比_javaWeb_JSP 知识总结-markdown

javaWeb_JSP

一、简介

全称: java server pages(java服务器页面);

jsp必须运行在服务器中,不能直接使用浏览器打开;

Jsp其本质就是一个Servle,Servle能做的事情JSP都能做。

Jsp能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML。(jsp = html + java);

(Servlet主要负责处理业务,从表面上看,Servlet相当于在java中嵌入html代码:Servlet=java+html)

二、JSP工作原理

1、第一次访问jsp页面时,服务器会将xxx.jsp文件翻译成xxx_jsp.java文件,再编译成xxx_jsp.class文件。

2、以后在访问同一个jsp文件

如果文件未改变,不会被翻译和编译

如果文件改变,会翻译和编译

注意事项:1.jsp页面是一个类似于html的一个页面,jsp直接存放到WebContent目录下,和html一样访问jsp的时候,也和访问html一样

2.jsp的默认编码集是iso-8859-1,修改jsp的默认编码为UTF-8;

三、Jsp基本语法(6个)

1、 指令

格式:

2、 模板元素(html&css&js...)

3、 脚本片段

格式:作用:在_jspService()方法中,书写java代码。

4、 表达式

格式:作用:将数据显示到页面中,类似PrintWrite的writer()的功能。注:PrintWriter与JspWriter都继承java.io.Writer,属于兄弟关系,同时出现时PrintWriter的内容始终先显示。

5、 声明

格式: 作用:在翻译后的类中,书写java代码。(如果声明变量则是成员变量)

6、 注释

java中的单行注释和多行注册html注释:jsp注释:

四、Jsp中常用指令

1、page指令

格式:属性:language:jsp支持语言,有且仅有java。contentType:与response.setContentType()作用一致pageEncoding:设置当前jsp页面的字符集import:导包isErrorPage:设置当前页面是否为错误页面,默认值"false"。errorPage:设置当前页面错误时的跳转目标页面。错误需要在_jspService()中才可以捕获。

2、include指令:静态包含

格式:作用:将目标文件包含到当前文件中特点:被包含的文件不会被翻译&编译。(先包含,再翻译)

3、taglib(标签库)指令---引入标签库(jstl的使用)

属性:prefix ----指定前缀名,通过该名来使用jstl;

uri-----相当于库的唯一标识,因为JSTL由多个不同的库组成,使用该属性指定要导入哪个库;

作用:引入标签库

五、Jsp中常用动作标签

1、转发

语法:

实例

作用:在页面中进行转发操作

转发子标签

语法::

作用 :在转发时设置请求参数,通过request.getParameter()在目标页面获取请求参数。

注意:如果转发动作标签不需要设置请求参数,该标签开始与结束标签内部,不允许书写任何内容,(包括空格)

2、动态包含

语法: 作用:将目标文件包含到当前文件中。特点:被包含的文件同时会被翻译&编译。(先翻译,再包含)

3.jsp动态包含和静态包含的区别

静态包含------>@include 指令动态包含------>jsp:include标签

语法

包含动作发生时机翻译期间请求期间

是否生成.java文件不生成生成

合并方式代码复制(多个jsp中相同代码抽取到一个文件中)合并运行结果

适用范围适用包含纯静态内容(CSS,HTML,JS),或没有非常耗时操作;或大量java代码的jsp。包含需要传递参数。含有大量java代码,运算,耗时很长的操作。

六、Jsp九大隐含对象(内置对象|隐式对象)

注:九大内置对象,都是我们可以在【代码脚本】中或【表达式脚本】中直接使用的对象。

概述: JSP隐式对象是JSP容器为每个JSP页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。

1、pageContext(页面域)

类型:java.servlet.jsp.PageContext定义:代表整个jsp页面作用:①页面域对象          ②九大隐式对象的“大哥”,可以直接调用其他八个隐式对象。在servlet中的获取方式:无

2、request(请求域)

类型:HttpServletRequest定义:代表浏览器向服务器发送的请求报文作用:    1.获取请求参数    2.获取URL信息    3.获取请求头信息    4.转发请求(地址栏不变)    5.域对象在servlet中的获取方式:在doGet()/doPost()中直接调用

3、session(会话域)

类型:HttpSession定义:代表浏览器与服务器之间的会话作用域:当前会话有效(关闭浏览器结束当前会话)在servlet中的获取方式:request.getSession();

4、application(web域)

类型:javax.servlet.ServletContext定义:意思是Servlet上下文,代表当前web应用。作用:  1.获取当前项目的虚拟路径;  2.获取虚拟路径所映射的真实路径;  3.获取当前上下文的初始化参数;  4.域对象;在servlet中的获取方式:this.getServletContext();

5、page

类型:Object作用:this

6、response

类型:HttpServletResponse定义:代表服务器向浏览器发送的响应报文作用:1.获取响应流(writer),响应数据到浏览器页面;2.设置响应头;3.重定向;在servlet中的获取方式:在doGet()或doPost()中直接使用

7、config

类型:javax.servlet.ServletConfig 定义:代表当前Servlet配置信息作用:1.获取当前Servlet的名称;2.获取当前Servlet初始化参数3.获取ServletContext对象在servlet中的获取方式:this.getServletConfig();

8、out

类型:javax.servlet.jsp.JspWriter作用:与Servlet中的PrintWriter类似,向页面响应数据。在servlet中的获取方式:无

9、exception

类型:java.lang.Throwable作用:处理异常

七、Jsp四大域对象

1、作用: 程序中的域对象,在一定范围内共享数据。

2、四大域对象

2.1  pageContext:页面域对象作用域:当前页面效,超出当前页面失效。 2.2  request:请求域对象作用域:当前请求中效,超出当前请求失效。

注:当前请求不包含重定向和超链接

2.3  session:会话域对象(与浏览器有关,与服务器无关) 作用域:当前会话效,超出当前会话失效。 2.4  application: web域对象  作用域:当前web应用中效,关闭或卸载web应用失效。

3、 域对象的共同方法

每个域对象内部都维护了一个Map设置属性到域中:void setAttribute(String key , Object value);从域中获取指定的属性:Object  getAttribute(String key);移除域中指定属性:void removeAttribute(String key);注:使用域对象的心得:能用小域就不用大域。

4、四大域对象作用域总结

域对象作用域范围起始时间结束时间

pageContext当前jsp页面页面加载关闭页面无

request同一个请求收到请求(转发、点击链接请求)响应请求通过doget();dopost直接使用

session同一个会话开始会话(主要跟浏览器有关)结束会话request.getSession();

application当前Web应用web应用卸载web应用卸载this.getServletContext();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java EE 项目的目录结构可以根据具体的需求进行灵活设计,但一般情况下,推荐使用以下的标准目录结构: ``` project ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ ├── controller │ │ │ ├── dao │ │ │ ├── entity │ │ │ ├── service │ │ │ └── util │ │ ├── resources │ │ │ ├── mapper │ │ │ └── db.properties │ │ └── webapp │ │ ├── WEB-INF │ │ │ ├── classes │ │ │ ├── lib │ │ │ └── web.xml │ │ ├── css │ │ ├── js │ │ ├── images │ │ └── index.jsp │ └── test │ ├── java │ └── resources ├── target ├── pom.xml └── README.md ``` 其中,各个目录的作用如下: - `src/main/java`:存放项目的 Java 源代码,按照包名分层,一般包括 `controller`、`dao`、`entity`、`service` 和 `util` 等包; - `src/main/resources`:存放项目的配置文件和资源文件,一般包括数据库连接配置文件 `db.properties`、MyBatis 的 mapper 文件等; - `src/main/webapp`:存放 Web 应用的 Web 资源,包括 JSP 页面、CSS 样式表、JavaScript 脚本等; - `src/test/java`:存放项目的测试代码; - `src/test/resources`:存放测试代码所需要的资源文件; - `target`:存放编译后的 .class 文件、打包后的 .war 文件等; - `pom.xml`:Maven 项目管理工具的配置文件; - `README.md`:项目说明文件。 以上是一种常见的 Java EE 项目目录结构,但并不是唯一的标准。在实际开发中,可以根据项目的具体需求进行合理的调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值