实习日记第五天

2023年6月9日         星期五    地点:镇江市软通极客人才学院

主要内容:了解并掌握JSP的基本知识

说到JSP,就得讲它的由来:Servlet做动态页面响应这种方式有几个问题: 1)有大量的字符串拼接操作,操作复杂。 2)前端工程师修改页面代码困难 为了解决以上问题sun公司给出了:Java Server Page——简称JSP技术 JSP是为了同时满足动态生成网页和简化页面书写的需求诞生的。

在JSP文件的编写过程中,共有三种注释方法 HTML的注释,将输出到客户端,JSP注释,不翻译到Java文件中,JSP注释只有在JSP文件中可见,在Java脚本中注释,将翻译到Java文件中,依然是注释语句。

接下来讲JSP指令---JSP可以通过指令元素而影响容器翻译生成Java类的整体结构。JSP中常用的指令有三个:page、include、taglib,本章主要学习其中的两个:page指令、include指 令。

page指令是最复杂的一个指令,共有13个属性。page指令作用于整个JSP页面,可以将指令放在JSP页 面任何一个位置。1)其指令属性之一----import,用来来引入JSP文件需要使用的类。可以使用逗号同时引入多个包,也可以在一个JSP 文件中多次使用import。值得注意的是,import是page指令中唯一一个可以在一个JSP文件中多次出现 的属性,其他属性在一个JSP文件中只能出现一次。2)其指令属性之二--- pageEncoding ,pageEncoding属性用来设置JSP文件的页面编码格式。其指令属性之三---session,用来设置JSP页面是否生成session对象。该属性默认值为true,可以设置成false。session属性值设置为false后,该JSP翻译生成的类中将没有内置对象session,该JSP不参与会话。3)errorPage,errorPage属性设置JSP页面的错误页面。当JSP中发生异常或错误却没有被处理时,容器将请求转发到 错误页面。4)isErrorPage。isErrorPage属性默认值是false,可以设置为true。在JSP的错误页面中,将isErrorPage设置为true,则 该页面翻译生成的Java类中,将生成exception内置对象。注意:即使一个页面没有设置isErrorPage=“true”,也可以作为错误页面使用,区别在是否有内置对象 exception内置对象产生。

JSP中另外一个常用指令,用来静态包含其他页面。所谓静态包含,指的是在翻译期间, 把包含的页面也翻译到当前页面的Java文件中,所谓Java源文件就实现“二合一”。 若在main.jsp中编写如下代码: <%@ include file="copyright.jsp"%>过程:翻译main.jsp时,会把copyright.jsp文件翻译插入到相应位置。

接下来介绍.JSP标准动作。JSP规范中定义了一系列的标准动作。Web容器按照规范进行了实现,可以解析并执行标准动作。1)forward,forward动作:在JSP页面中进行请求转发。2)include。include动作:在JSP页面中,进行动态包含。因为是动态包含,所以可以在包含时传递请求参数。而include标准动作与include指令的区别就在于1.静态包含 include指令 动态包含 include标准动作 2.静态包含 动态包含 3.include指令的属性是file,实现静态包含,发生在翻译阶段,将包含的jsp文件翻译进去 include标准动作的属性是page,实现动态包含,发生在请求阶段,将包含的jsp文件直接翻译成java文 件。3)param。param动作往往作为子动作使用,为forward和include动作传递参数。

然后老师又讲了EL(Expression Language 语法:${ 表达式})表达式&EL的内置对象,他的作用是代替jsp中脚本表达式的功能,简化对java代码的操作。

EL使用 - 获取作用域的值。获得四个容器(page、request、session、ServletContext :域对象)的数据,在ScopeServlet中:

@WebServlet(name = "ScopeServlet" , urlPatterns = "/scope")

public class ScopeServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse

response) throws ServletException, IOException {

this.doGet(request, response);

}

scope.jsp中:<%

pageContext.setAttribute("name", "赵六");

%>

当前页作用域:${pageScope.name} <br>

请求作用域:${requestScope.name} <br>

会话作用域:${sessionScope.name} <br>

上下文作用域:${applicationScope.name} <br>

<br>

${name}

${aaa}

值得注意的是,获取属性时,若使用表达式的话,指定的key不存在,表达式会得到null;而使用EL表达式取出的时候指定的key不存在,页面上什么都没有。

此外还有关于EL使用 - 解析复杂数据的一些简单内容,复杂数据:数组,集合(List Map),自定义对象(Person User Animal)。还有EL使用 - 执行运算。至此关于EL的运算的讲解结束。

为期5天的实习也正式宣告结束,虽然我收获的不多,有很多没听懂的地方,但是,至少我用心听的东西,都已经记载了脑子里,收获多少还是有的。希望未来对于Java的学习,不会只停留在这5天的实习,而是对于我一个属于计算机专业的学生一生的学习和研究!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试实习日记(共计3000字) 第一天: 今天是我软件测试实习的第一天,我来到了公司的测试部门。首先,我和我的导师进行了简单的介绍和交流,他向我介绍了公司的测试流程和工作内容。然后,我开始熟悉测试环境和工具的使用,包括测试管理工具、缺陷管理工具等。在导师的指导下,我还学习了一些基本的测试技术和方法。今天的实习经历让我对软件测试有了更深入的了解。 第二天: 今天我开始参与到项目的测试工作中。我首先阅读了项目的需求文档和设计文档,了解了项目的功能和设计思路。然后,我根据需求文档编写了测试用例,并进行了测试计划的制定。在导师的指导下,我还学习了如何进行黑盒测试和白盒测试。通过今天的实践,我对测试用例的编写和测试计划的制定有了更深入的理解。 第三天: 今天我开始执行测试用例,并记录测试结果。在执行测试用例的过程中,我发现了一些功能上的问题,并及时向开发人员反馈。同时,我还学习了如何使用调试工具来定位问题,并进行了一些简单的调试工作。通过今天的实践,我对测试执行和问题定位有了更深入的了解。 第四天: 今天我继续执行测试用例,并记录测试结果。在测试过程中,我发现了一些性能上的问题,并及时向开发人员反馈。同时,我还学习了如何使用性能测试工具来进行性能测试,并进行了一些简单的性能测试工作。通过今天的实践,我对性能测试有了更深入的了解。 第五天: 今天我参与了项目的集成测试工作。我首先了解了项目的集成测试计划和测试环境的搭建情况。然后,我根据集成测试计划编写了集成测试用例,并进行了集成测试的执行和记录。在导师的指导下,我还学习了如何进行接口测试和系统测试。通过今天的实践,我对集成测试有了更深入的了解。 第六天: 今天我参与了项目的回归测试工作。我首先了解了项目的回归测试计划和回归测试环境的搭建情况。然后,我根据回归测试计划编写了回归测试用例,并进行了回归测试的执行和记录。在导师的指导下,我还学习了如何进行自动化测试和持续集成。通过今天的实践,我对回归测试有了更深入的了解。 第七天: 今天我参与了项目的验收测试工作。我首先了解了项目的验收测试计划和验收测试环境的搭建情况。然后,我根据验收测试计划编写了验收测试用例,并进行了验收测试的执行和记录。在导师的指导下,我还学习了如何进行用户体验测试和安全性测试。通过今天的实践,我对验收测试有了更深入的了解。 第八天: 今天我参与了项目的文档编写工作。我首先整理了项目的测试文档,并进行了一些修改和完善。然后,我根据项目的需求和设计文档编写了测试报告,并进行了一些简单的数据分析。在导师的指导下,我还学习了如何进行缺陷分析和风险评估。通过今天的实践,我对测试文档编写有了更深入的了解。 第九天: 今天我参与了项目的团队会议。在会议上,我向团队成员汇报了我的实习进展,并分享了一些测试经验和技巧。同时,我还听取了其他团队成员的报告和分享,并进行了一些讨论和交流。通过今天的团队会议,我对团队协作和沟通有了更深入的了解。 第十天: 今天我参与了项目的总结和评估工作。我首先对我的实习经历进行了总结和反思,并提出了一些改进的建议。然后,我参与了项目的评估工作,对项目的测试质量和效果进行了评估和分析。在导师的指导下,我还学习了如何进行测试过程改进和质量管理。通过今天的实践,我对测试总结和评估有了更深入的了解。 第十一天: 今天我参与了项目的知识分享和培训工作。我首先准备了一个关于软件测试的主题演讲,并向团队成员进行了分享。同时,我还参与了一些培训活动,学习了一些新的测试技术和方法。通过今天的实践,我对知识分享和培训有了更深入的了解。 第十二天: 今天我参与了项目的客户交流和支持工作。我首先与客户进行了一次电话会议,了解了他们对项目的需求和期望。然后,我根据客户的反馈和问题提供了一些解决方案和支持。在导师的指导下,我还学习了如何进行客户管理和需求分析。通过今天的实践,我对客户交流和支持有了更深入的了解。 第十三天: 今天我参与了项目的质量保证工作。我首先了解了项目的质量保证计划和质量保证流程。然后,我根据质量保证计划进行了一些质量度量和分析工作。在导师的指导下,我还学习了如何进行质量度量和质量改进。通过今天的实践,我对质量保证有了更深入的了解。 第十四天: 今天我参与了项目的技术支持工作。我首先了解了项目的技术支持计划和技术支持流程。然后,我根据技术支持计划提供了一些技术支持和解决方案。在导师的指导下,我还学习了如何进行问题分析和解决。通过今天的实践,我对技术支持有了更深入的了解。 第十五天: 今天是我软件测试实习的最后一天。在这段时间里,我通过参与项目的测试工作,学习了很多软件测试的知识和技能。我不仅熟悉了测试流程和工具的使用,还掌握了一些测试技术和方法。通过实习,我对软件测试有了更深入的了解,并提升了自己的实际操作能力。我相信这段实习经历对我的职业发展会有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值