【问题标题】:How to avoid servlet writing some jsp file in JavaEE?如何避免servlet在JavaEE中编写一些jsp文件?
【发布时间】:2014-03-18 15:04:03
【问题描述】:

我想用 JavaEE 写一个简单的表单。为此,我创建了一个简单的 form.jsp 文件。该文件的代码如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</head>
<body>

    <% if(request.getAttribute("action")!=null) {
            String action=(String) request.getAttribute("action");
            if(action.equals("success")) { %>
                <br>Added user correctly.</br>      
         <% } else { %>
                <br>Error : <%=action %></br>   
         <% } 
        } else { %>
        <u>Rejestracja:</u>
        <form action="servletAgent" method="post">
            <fieldset>
                <table style="text-align: right;">          
                    <tr><td>imie: </td><td><input type="text" style="width:220px" required="required" name="name" value=""></td></tr>               
                </table>
                <center><input type="submit" value="Register"/></center>
            </fieldset>
        </form>
     <% } %>

</body>
</html>

在这段代码中,我们可以看到我连接到“servletAgent”。在“servletAgent.java”中有一个方法doPost(),我检查输入名称是否正确,如果是,则显示“正确添加用户”信息,以其他方式显示“错误”。还有其他可能吗,我的意思是这种方法可以很好地连接到 servletAgent,也许有可能不连接到 servletAgent 并在没有任何连接到 servletAgent 的情况下更简单地在 form.jsp 文件中执行此操作?

【问题讨论】:

    标签: java jsp jakarta-ee servlets


    【解决方案1】:

    也许有可能不连接到 servletAgent 并在 form.jsp 文件中执行此操作而不连接到 servletAgent 更简单?

    您可以直接在 JSP 中处理所有工作,只需将操作从 "servletAgent" 更改为 "form.jsp",现在您的 JSP 也可以评估请求,然后您可以将代码从 servlet 移动到您的 scriptlet 代码的顶部。从技术上讲,它会按照您的预期工作,并且您根本不需要任何 servlet 来处理您的业务逻辑...

    但是!

    在此页面中使用 scriptlet 并不是最佳选择,主要是出于维护原因(还有更多其他选择,但我将重点关注这一点)。当您实现 MVC 模式时,基本上是通过将 JSP 与业务逻辑解耦,您实现了可维护性。例如,Web UI 设计师可以直接在(几乎)纯 HTML 页面上应用他/她想要的任何 HTML5/JS/CSS,而不管文件扩展名如何,程序员可以在 servlet 或其他服务器端组件(如 Managed)中处理业务逻辑JSF 中的 Bean 或 Spring MVC 中的 @Controllers。看起来还有更多工作要做,而且是在直接使用 JSP 和 Servlet 时,但这就是为什么有几个 Java Web 应用程序框架:以简化这种维护。

    更多信息:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多