为啥要使用 JSTL?当我们在 JSP 文件中使用带有连接字符串的数据库连接来获取从 servlet 发送的数据时会有啥危害[重复]
Posted
技术标签:
【中文标题】为啥要使用 JSTL?当我们在 JSP 文件中使用带有连接字符串的数据库连接来获取从 servlet 发送的数据时会有啥危害[重复]【英文标题】:Why to use JSTL? What will be the harm in when we use data base connection in JSP file with connection string to get the data sent from servlet [duplicate]为什么要使用 JSTL?当我们在 JSP 文件中使用带有连接字符串的数据库连接来获取从 servlet 发送的数据时会有什么危害[重复] 【发布时间】:2018-04-24 14:09:19 【问题描述】:在下面的代码中,JDBC 连接是在 JSP 文件本身中完成的。那有什么害处。我是新手,在大多数网站中发现它要求对 SQL 数据使用 JSTL,那么 JSTL 和 JSP 有什么区别,哪个更好?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Home Page</title>
</head>
<body>
<%@include file="DBDetails.jsp"%>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, username, password);
statement = connection.createStatement();
Code TO get Table Values Et
%>
<%User user = (User) session.getAttribute("User"); %>
<h3>Hi <%=user.getName() %></h3>
<strong>Your Email</strong>: <%=user.getEmail() %><br>
<strong>Your Country</strong>: <%=user.getCountry() %><br>
<br>
<form action="Logout" method="post">
<input type="submit" value="Logout" >
</form>
</body>
</html>
【问题讨论】:
***.com/questions/3177733/… 【参考方案1】:这违反了面向对象编程的第一个SOLID 设计原则,该原则规定每个类应该有一个单一的职责。 JSP 被编译成类,因此它认为 JSP 也应该有单一的职责。这个简单的玩具 JSP 页面负责:
-
打印 HTML
连接到数据库
查询数据库
处理数据库错误
使用数据库中的数据填充其他 Java 对象
此外,JSTL 是帮助开发人员避免做您在此处所做的事情的多种技术之一——在他们的 JSP 文件中编写 Java 代码。这是 1990 年代末和 2000 年代初的常见做法,但对于业余项目以外的任何事情,这都被认为是不好的做法。
【讨论】:
感谢您的回答,通过阅读您的回答,我只能弄清楚使用 JSP 中截断的 java 代码是较旧的技术,而 JSTL 是正在遵循的最新趋势,所以在类似的行中可以请您解释更多关于 JSTL 的内容或提供任何参考资料,我可以在其中阅读更多 JSTL.... @arjunhitachi JSTL 几乎不是“最新趋势”(第一个版本是 2002 年的),就像 JSP 一样,它被认为是陈旧过时的。而且JSTL是和JSP关联的,不是说用JSTL就不用JSP,要用JSP就真的应该用JSTL。 好的,非常感谢...最后一个问题,您的最新回答说 JSP 和 JSTL 都不是新的,那么我应该去哪个新市场呢?我正在尝试学习 MVC 和 Struts……我应该为哪些新技术而努力,可能需要多长时间? 我建议使用 Spring Boot、Spring Web MVC 和 Thymeleaf 作为一个很好的起点。您可以在此处使用 Spring 初始化程序配置工作应用程序模板:start.spring.ioJSP
已替换为 JSF
(Java 服务器端)。 Spring MVC
是一种替代技术,但它仍然需要 Thymeleaf
甚至 JSP
用于表示(视图)层。以上是关于为啥要使用 JSTL?当我们在 JSP 文件中使用带有连接字符串的数据库连接来获取从 servlet 发送的数据时会有啥危害[重复]的主要内容,如果未能解决你的问题,请参考以下文章