表单提交与头像上传
在 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 …