首页
学习
活动
专区
圈层
工具
发布

JSP页面直接输出实体对象空属性引发页面500报错实战案例

JSP页面直接输出实体对象空属性引发页面500报错实战案例一、问题背景传统JavaWeb项目开发中,大量业务页面使用JSP+EL表达式渲染数据。...当实体对象为null,或目标属性未赋值时,EL表达式访问属性会触发NullPointerException,直接导致页面抛出500服务器异常,页面空白无法展示,线上出现用户访问页面报错问题。...页面user.jsp展开代码语言:TXTAI代码解释JSP使用EL渲染对象前,必须通过empty判断对象非空,再读取内部属性;字符串属性输出时使用三元表达式设置默认值,避免页面空白;后端查询数据接口统一兜底,无数据时返回空实体而非...五、线上风险说明该异常会直接阻断页面渲染,用户无法查看页面内容,严重影响使用体验;批量列表场景下,单条数据对象为空会导致整个页面崩溃,而非单条数据隐藏,故障影响范围大。

18200
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JSP页面静态化

    今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp。 没听说过静态化的朋友会问为啥要这么做,jsp访问好好的 为啥多此一举 好处:     1....效率方面,访问html页面时,服务器找到页面后直接返回,不会再进行后台处理,速度快很多很多,同时也是解决高并发,降低服务器资源占用最有效的方式。...首先,我们需要写页面的模板,就是jsp页面,我们生成后的html是基于该模板的,说白了就是用查询好的数据去填充对应的地方,如下我写的一个简单模板jsp 这个jsp页面我命名为articleTemplate.jsp...id=100 不是直接输入html对应路径,控制台打出 直接跳转 证明没有再重新去生成,并且明显感觉速度要快很多, 如果生成页面时需要查找的数据更多,则效果更明显  并且上面的时间戳都一样,表示是同一个页面...直接通过读数据库列表,然后计算出对应的html页面生成链接,  每次生成列表对服务器也是一种消耗     b.

    8.3K40

    JSP 页面访问用户验证

    jsp安全性问题,当别人知道某个jsp文件的网址后就可以跳过登陆页面直接访问该jsp文件了,这样无法禁止外部无权限用户的访问。本文讨论内容是通过权限验证的用户,才可以访问特定的页面。...JSP 页面验证,涉及到的知识有Session, 网页权限, 用户验证等。...file="head.jsp" %> I am page333.jsp jsp" %> 注: 没有任何验证,用户可以直接输入网址进行访问 7) logout.jsp...页面验证 logincheck.jsp (或LoginFilter.java)页面访问前进行登录验证 3) 验证通过访问JSP页面 login.jsp(或Login.java)用户登录后才可以正常访问...JSP页面 源码下载 参考推荐: 跳过登陆页面直接访问该jsp文件 如何实现JSP页面的访问控制 session 保存登录信息 Application Session Cookie区别

    20K40

    在JSP页面中调用另一个JSP页面中的变量

    https://blog.csdn.net/huyuyang6688/article/details/16896447          在jsp学习中,经常需要在一个jsp页面中调用另一个jsp...jsp页面之间的变量调用有多种方法:         1、通过jsp的内置对象—request对象获取参数:          (1)通过超链接传参:                  例:把a.jsp...中i的值传到b.jsp中:                       在a.jsp页面中的核心代码为:                            jsp?...i=1">传参     (说明:给i赋值时也可以用jsp表达式,例如i=)                       在b.jsp页面中的核心代码为:                          ...中表单中的name的值传送到b.jsp中:                       在a.jsp页面中的核心代码为:                            <%request.setAttribute

    13.2K52

    JSP 页面中的 路径问题

    "> 上面两种写法是相同的,都是指向 webapp 应用程序下的 login.jsp 页面。...二、关于 jsp 中请求路径的问题 一般我们会在 jsp 页面中放一个 form 表单,这样当我们启动项目的时候请求可以直接跳转到指定的请求路径上面去,这里的规则和超链接一样,只不过要重点注意 Servlet...如果你的 jsp 页面直接在项目的根目录下的话,表单跳转如下: ...---- 随便拿一个 JSP 和 Servlet 举例子: jsp 页面中的 form 表单的 action 指向直接写:servlet.do Servlet 的 urlPatterns 的值必须是对应的...jsp 页面相对于应用根目录的绝对路径,也就是要加上 jsp 页面所在的包名,如:/demo/servlet.do 注意这里不用管 Servlet 在那个包下,只需要弄清楚发请求的 jsp 在哪个包下

    10.9K20
    领券