Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加servlet来替换JSP中的scriptlet?_Java_Jsp_Servlets - Fatal编程技术网

Java 如何添加servlet来替换JSP中的scriptlet?

Java 如何添加servlet来替换JSP中的scriptlet?,java,jsp,servlets,Java,Jsp,Servlets,我继承了一个大型遗留web应用程序,它主要由与HTML框架链接在一起的JSP文件构成。我一直在阅读如何有效地使用遗留代码,我发现了一个很好的小片段,可以在重构的简单步骤中打断它 该页面是一个基本的列表页面。它使用某些请求参数查询数据库,并显示匹配行的列表以及适用操作的按钮。谢天谢地,这个特定页面上的大部分业务逻辑已经在POJO中,我已经找到了如何使用JSTL替换表示逻辑的方法 从我在这里读到的其他问题/答案来看,最好的策略似乎是将剩余的scriptlet提取到一个servlet中,该servle

我继承了一个大型遗留web应用程序,它主要由与HTML框架链接在一起的JSP文件构成。我一直在阅读如何有效地使用遗留代码,我发现了一个很好的小片段,可以在重构的简单步骤中打断它

该页面是一个基本的列表页面。它使用某些请求参数查询数据库,并显示匹配行的列表以及适用操作的按钮。谢天谢地,这个特定页面上的大部分业务逻辑已经在POJO中,我已经找到了如何使用JSTL替换表示逻辑的方法

从我在这里读到的其他问题/答案来看,最好的策略似乎是将剩余的scriptlet提取到一个servlet中,该servlet根据请求参数进行必要的预处理

我如何让servlet拦截请求,然后在对应用程序其余部分产生最小副作用的情况下呈现JSP


我试图替换的文件是
/welcome/TopFrameList.jsp

,如果我完全理解这个场景

步骤:

  • 您可以将控件发送到Servlet而不是jsp 直接的。i、 e.您必须稍微更改url以指向 Servlet不支持jsp

  • 让Servlet预处理请求参数(以及一些 业务逻辑(如果需要)

  • 然后Servlet转发请求 最终呈现视图的jsp

  • 这应该行得通,因为对现有应用程序的唯一更改是url的轻微更改


    注意:希望您有测试应用程序这一部分的测试

    只需将
    放入
    doGet()
    中,它最终将转发到JSP,然后将URL更改为调用servlet而不是JSP。另请参见和@BalusC,我确实阅读了您之前的答案。这很有帮助。我想我的问题更多的是在创建servlet之后如何调用它。因此,在我的例子中,没有比为servlet创建url、查找和更改相关的链接和框架源属性更干净的方法了?这可能是我需要做的,但请参见上面的评论。恐怕有很多地方引用了这个URL。目前,除了手动测试计划外,没有其他测试需要花费很长时间才能完成。不过,我完全意识到创建它们的重要性。这是我想要完成的事情之一。