OGNL表达式
OGNL 全称 Object-Graph Navigation Language(对象图导航语言),用来获取和设置 Java 对象属性,需要写在 Struts2 标签里才生效。 它访问的对象都放在 OGNL 的 context 里。context 是 Map,存一组 key-value,实际对应 A…
OGNL 全称 Object-Graph Navigation Language(对象图导航语言),用来获取和设置 Java 对象属性,需要写在 Struts2 标签里才生效。 它访问的对象都放在 OGNL 的 context 里。context 是 Map,存一组 key-value,实际对应 A…
JSTL(JSP Standard Tag Library)把迭代、条件、格式化、XML、数据库访问这类常用能力收成一套标签。EL 负责把变量从各 Scope 里取出来,两者经常一起写,JSP 才不像一堆脚本碎片。 标签库分四块:核心 core、格式化、SQL、XML。页面上先把 jar 放进 WE…
把 Struts2 用熟练,日常围着两份文件转:struts.properties 管常量,struts.xml 管 package / action / result。这两份读明白,动态方法调用和参数绑定才不会晕。 下面按原笔记往下走:核心文件 → Action 按命名空间往上搜的顺序 → 三种动…
Apache Struts2 是一套成熟的、基于 MVC 的 Web 应用框架。它把 WebWork 和 Struts 1.x 两套框架的长处合到了一起,用 OGNL 表达式和 Struts2 标签来读写应用数据,从而缩短按 MVC 开发 Web 应用的时间。 下面先跑通第一个程序,再对照工作原理图…
在 Web 后台管理系统里,数据的增、删、改几乎是标配,本质都是对数据库表记录的操作用户界面。当操作的数据里包含头像图片时,事情就多了一环——文件上传。 这篇从"一次提交到底发了什么"讲起,再对比几种实现方式,最后用"学生头像上传"的完整实例把前后端串起来,并补上现代写法和你必须注意的安全坑。 一、…
过滤器(Filter)是服务端实现 javax.servlet.Filter 的 Java 类,用来截取客户端请求和服务器响应。它可以在请求到达后端资源之前拦截,也可以在响应写回客户端之前再处理一遍。 配置写在 web.xml:生命周期是实例化 → init() → 多次 doFilter() → …
JSP 转译成 Servlet 之后,容器会准备好九个隐含对象,页面里不用声明就能直接用。它们分别对应 page、config、request、response、out、session、application、pageContext、exception。 记的时候按作用域想:page 只对当前页,r…
Listener 是 Servlet 规范里的监听器。它可以监听 ServletContext、HttpSession、ServletRequest 等域对象的创建与销毁,以及属性增删改,在事件前后做必要处理。 典型用法是统计在线人数:新建一个 HttpSession 就加一,销毁就减一。监听器写在…
Servlet 初始化时,容器会调用 init(ServletConfig config) 或无参 init()。ServletConfig 是接口,真正的实现类对象由容器实例化后再传进来。 web.xml 里给 Servlet 配的启动参数,也会在初始化时被容器收集,记进这份 ServletCon…
Servlet 是一种独立于平台和协议的服务器端 Java 应用程序,用来生成动态 Web 页面。它不从命令行启动,而是由 Web 服务器加载;这台服务器必须包含支持 Servlet 的 Java 虚拟机。 和 Applet 一样,Servlet 没有 main(),生命周期由容器调用;和 JSP …