这个问题在这里已经有答案了:
如何使用jsp2避免jsp文件中的java代码(30个答案)
两年前关门了。
在下面的代码中,jdbc连接是在jsp文件本身中完成的。那有什么坏处。我对这一点还不熟悉,在大多数网站上,我都会要求使用jstl来处理sql数据,那么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>
1条答案
按热度按时间yv5phkfx1#
这违反了面向对象编程的第一个坚实的设计原则,即每个类都应该有一个单独的职责。jsp被编译成类,因此jsp也应该有一个单独的职责。这个简单的玩具jsp页面负责:
打印html
连接到数据库
查询数据库
处理数据库错误
用数据库中的数据填充其他java对象
此外,jstl是帮助开发人员避免在jsp文件中编写java代码的技术之一。这在20世纪90年代末和2000年代初是一种常见的做法,但除了业余爱好以外,这被认为是一种不好的做法。