web Project 项目结构
1,什么是Tomcat
web容器 IIS
Tomcat 是 Apache 软件基金会一个项目,由 Apache、Sun 和部分公司和个人一起开发完善的轻量级
Web 应用服务器,是 Servlet 规范和 JSP 规范的开源实现。是免费开源的。
tomcat的配置和启动
1、配置文件:server.xml
端口:默认8080
中文问题:URIEncoding=“UTF-8”
2、启动tomcat:startup.bat
Myeclipse配置tomcat9
Servers > Server Runtime Environments > add
2,结构*
com
|-**
|-servlet/web/controller 放 servlet
|-service 放服务层的接口
| |-impl 服务接口的实现类
|-dao 数据库操作接口
| |-impl 数据库操作接口的实现类
|-po 数据的实体类
|-vo
|-common 放公共的类
|-filter 过滤器
|-util 放工具类
3,servlet是什么
Servlet是sun公司提供的一门用于开发动态web资源的技术。
Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向
浏览器输出数据),需要完成以下2个步骤:
1、编写一个Java类,实现servlet接口。
2、把开发好的Java类部署到web服务器中。
按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet
4,servlet的调用过程及生命周期
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,
否则,执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的
HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的
destroy()方法。
servlet的生命周期:
实例化 ------------→ Servlet 容器创建 Servlet 的实例
↓
初始化 ------------→ 调用 init() 方法
↓
服 务 ------------→ 调用 service() 方法(doGet()或者doPost())
↓
销 毁 ------------→ 调用 destroy() 方法
↓
不可用------------→ 销毁实例并标记为垃圾收集
5,jsp是什么
Jsp是一种建立在Servlet规范提供的功能之上的动态网页技术,
允许在网页文件中嵌入java代码和jsp标记。
Java 服务器页面 (Java Server Page ,JSP) ;扩展名 .jsp
(类似于HTML)
jsp的执行过程
(1)Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理用户的请求,所以jsp可以
看成是运行时的Servlet
(2)Jsp容器(也就是Servlet容器)管理jsp页面声明周期分为两个阶段.即转换阶段和执行阶段
(3)当有一个对jsp页面的请求到来时,jsp容器检查jsp页面的语法是否正确,将jsp页面转换为Servlet
源文件,然后调用javac命令编译Servlet源文件生成字节码文件.这是转换阶段
(4)Servlet容器加载转换后的Servlet类,这是执行阶段

6,JSP 指令
用来设置与整个 JSP 页面相关的属性。
<%@ page … %> 定义页面的依赖属性,比如脚本语言、error 页面、缓存需求等等
<%@ include … %> 包含其他文件
<%@ taglib … %> 引入标签库的定义,可以是自定义标签<%@ taglib
uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
7,jsp的九大内置对象
1.request HttpServletRequest 类的实例
2.response HttpServletResponse 类的实例
3.out PrintWriter 类的实例,用于把结果输出至网页上
4.session HttpSession 类的实例
5.application ServletContext 类的实例,与应用上下文有关
6.config ServletConfig 类的实例
7.pageContext PageContext 类的实例,提供对 JSP 页面所有对象以及命名空间的访问
8.page 类似于 Java 类中的 this 关键字
9.Exception Exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象
JSP 作用域包括 page、request、session 和 application
8,EL表达式
EL 为表达式语言(Expression Language),可以简化对变量的对象的访问语法 :所有的表达式以”${”开始,以”}”结束。

JSP EL 表达式用于以下情形
1 静态文本( JavaScript脚本在jsp中属于静态内容标准标签和自定义标签 EL不能在脚本元素中使用 脚本元素不是指JavaScript脚本,而是 <% Java 代码 %>
2 EL使用”[ ]”和”.”操作符来访问数据
对于连字符(-)或者其它特殊字符的字符串只能用“[ ]”操作符,而不能用“.”操作符,
这也是“[ ]”和“.”操作符的区别 如 ${header[“User-Agent”]}
EL表达式的操作内容可以是:常量、变量、jsp隐含对像
EL表达式还提供了对操作内容的运算:属性取值、运算、逻辑运算
EL表达式的操作结果会自动输出到输出流对像中
EL 表达式只能通过内置对象取值,也就是只读操作
EL 运算符
、EL 算术运算符 + - * /(div) %(mod)
(1)、EL 关系运算符 ==(eq) !=(ne) <(lt) <=(le) >(gt) >=(ge)
(2)、EL 逻辑运算符 &&(and) ||(or) !(not)
(1)、EL 其他运算符
1)empty 运算符 用来判断值是否为null 或空的
2)条件运算符 A?B:C意思是说,当A为true时,执行B;而A为false时,则执行C3)()括号运算符用来改变执行优先权,例如:{ A ? B : C}意思是说,当A 为true 时,执行B;而A 为false 时,则执行C
3)( ) 括号运算符 用来改变执行优先权,例如:A?B:C意思是说,当A为true时,执行B;而A为false时,则执行C3)()括号运算符用来改变执行优先权,例如:{ A * (B+C) }
JSP 标签库


理解Web项目结构与Servlet、JSP的原理
本文详细介绍了Web项目结构,包括Tomcat的配置与启动、Myeclipse配置Tomcat9的方法。此外,讲解了Servlet的定义、调用过程与生命周期,以及JSP的执行过程和指令。同时,探讨了JSP的九大内置对象和EL表达式的使用,为理解Web开发的基础知识提供了全面的指导。
597

被折叠的 条评论
为什么被折叠?



