jsp - OCEJWCD 问题
问题描述
我正在为 OCEJWCD 做准备,在一些问题中,Whizlabs 和 Enthuware 的答案与我在运行代码并测试它们时发现的不匹配。非常感谢您帮助解决这些问题。
问题 1: 在同一个 URL 模式上使用时 servlet 安全实现的权威性
这是关于使用所有三种实现在同一个 URL 模式上定义安全约束的场景,
- web.xml 中的 security-constraint 元素
- ServletRegistration.Dynamic 接口的 setServletSecurity 方法
- servlet 中的 @Servletsecurity 注释
模拟考试中的答案表明权威的顺序(当 URL 模式与所有 3 匹配时,哪一个压倒其他)是 1(最强大),2,然后是 3
但是当我运行代码时,我发现 @ServletSecurity 注释比 ServletRegistration.Dynamic 接口的 setServletSecurity 方法更强大。哪一个是正确的??
问题 2: 如果在没有无参数构造函数的类上使用 jsp:useBean 错误
考试中有一个常见问题,询问如果在一个类上使用 jsp:useBean 来实例化它但该类没有无参数构造函数会发生什么。
举个例子,我有一个班级员工
public class Employee {
private Integer employeeId;
private String name;
public Employee(Integer employeeId, String name) {
this.employeeId = employeeId;
this.name = name;
}
public Integer getEmployeeId() {
return employeeId;
}
public void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
并且四个范围中的任何一个都没有对象存在,我在 jsp 中有这个
<jsp:useBean id="employee" class="com.kingshuk.model.Employee" />
我相信它会抛出运行时异常,因为 tomcat 试图做这样的事情
com.kingshuk.model.Employee employee = null;
boolean _jspx_specialmb = false;
synchronized (pageContext) {
employee= (com.kingshuk.model.Employee)pageContext.getAttribute("employee",PageContext.PAGE_SCOPE);
if ( employee == null ) {
_jspx_specialmb = true;
try {
employee = (com.kingshuk.model.Employee) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "com.kingshuk.model.Employee");
} catch (Exception exc) {
throw new ServletException (" Cannot create bean of class "+"com.kingshuk.model.Employee", exc);
}
pageContext.setAttribute("employee", employee, PageContext.PAGE_SCOPE);
}
}
但是一些答案说它会抛出编译错误而不是在运行时抛出异常。哪一个是正确的??
在 7 月 26 日考试之前,我能得到的任何帮助都深表感谢。
谢谢,金舒克
解决方案
推荐阅读
- angular - Ng Build --prod 花了将近 2 个小时来构建完整的项目
- python - 如何将 tensorflow .pb 转换为 keras .h5?
- html - 设置溢出时框阴影消失
- django - 如何在 Django 中针对不相关的模型检查 request.user
- pandas - json_normalize:从数组中的对象访问数据
- php - 由于空订单对象,无法将订单发布到 Prestashop API
- reactjs - django 内置身份验证系统不适用于反应
- verilog - 在modelsim上运行一段verilog代码时的奇怪行为
- vba - 使用日期查找记录
- .net-core - 实体框架迁移错误重命名表