问题标签 [web-application-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
117 浏览

tomcat - 基于 jar 的无战争部署

这次我有一个理论问题。一位为一家相当大的公司工作的软件开发人员今天告诉我,他们不使用war 文件进行应用程序部署。他们的软件架构师认为,war 文件是邪恶的,因为部署 unwared 类的安全性不够,因为他们的运营组员工玩服务器可能会造成损害。据我了解,他们的解决方案是将应用程序打包到 jar 中并将其添加到空的 webapp 样式树的 WEB-INF/lib 文件夹中。它们还用于编辑 server.xml 以在其中添加应用程序的上下文 /docbase 以在它们使用的路径上启用它。我真的对这个解释感到困惑,我以前从未见过这样的事情。我个人认为整个“操作人员问题”听起来像是偏执狂,但仍然如此 我很难决定这种解决方案的优缺点是什么。你怎么看?奇异或辉煌?

谢谢。

0 投票
1 回答
966 浏览

asp.net-mvc - MVC设计——保存记录前处理文件上传

我们有一个 MVC Web 应用程序,它有一个索赔管理向导(类似于典型的订单条目)。声明可以有多个项目,每个项目可以有多个与之相关的文件。

声明 --> 项目 --> 文件

在添加新声明时 - 我们希望允许用户向其中添加一个或多个项目,并允许为这些项目上传文件。但是我们希望将所有内容都保存在内存中,直到实际保存 Claim - 这样如果用户没有完成 Claim 条目或丢弃它,则不会进行数据库交互。

我们能够通过会话处理数据级别的内存管理。我们在 session 中序列化 Claim 对象(也包括 Claim.Items 属性)。但是如何管理文件?

我们将文件存储在 < ClaimID >\< ItemID > 文件夹中,但是在内存中创建新声明时,在将记录保存在数据库中之前,我们没有任何 ID(两者都是自动增量 int)。

目前,我们必须限制用户在保存声明之前上传文件。

0 投票
1 回答
150 浏览

.net - 在 .NET 中存储业务价值的位置 - SQL Server 应用程序

这一直是开发人员之间的鸡与蛋问题。您在哪里存储应用程序规则中使用的业务值。(在 ASP.NET、窗口窗体或任何数据驱动的应用程序中)

我见过人们创建表来存储文本和值表示,然后将这些记录链接到代码中(通过 ID 或文本名称)。对我来说,这是最糟糕的方式:

  • 您必须维护表并为每个表创建管理模块
  • 您每次需要访问业务价值时都已阅读该表
  • 如果没有预先填充数据库,您的应用程序将无法工作 -

大多数开发人员告诉我这是我不购买的“最佳实践”,因为与我将业务价值直接放在应用程序这样的方法相比,它并没有带来任何好处:

然后在来自/到数据库的 [Column] 上使用整数,该数据库直接转换为数据对象上的 Enum,因此逻辑可以直接说:

这解决了上述所有问题,但是当您在应用程序之外的数据库上运行报告时,您需要在 SQL 中转换这些值。

所以我仍然想知道是否还有开发人员使用的另一种“更好”的解决方案或模式。我的意思是每个数据驱动的应用程序都必须有一个解决这个问题的方法/设计,这个问题从一开始就存在。

0 投票
1 回答
2247 浏览

php - 从数据库中检索和显示评论/查询

我正在用 php/sql 开发一个 Web 应用程序,用户可以在其中发布他们想要出售的商品(有点像 ebay)。我希望非会员能够对项目发表评论或询问有关项目的问题。

我的问题是我想以与 Facebook 墙的工作方式类似的方式显示每个项目以及对该项目所做的任何评论/查询。

我想为每个项目“附加评论”(如果有的话)。评论表通过列 item_id 链接到项目表。并且项目表通过列 user_id 链接到用户表。我已经离开加入用户表和项目表以显示项目详细信息,我也尝试离开加入评论表,以便有 3 个加入表。

这失败了,因为没有显示评论并且只显示一个项目,尽管每个表中有多个条目。这是我正在使用的代码。

0 投票
1 回答
1127 浏览

jsp - 在 jsp 和 servlet 中为文件共享 Web 应用程序设计 Web 应用程序设置?

我正在开发一个文件共享网络应用程序。该应用程序正在使用 jsp 和 servlet、MySql、Apache tomcat 6.0 网络服务器和 Eclipse Juno IDE 开发。我的专家级别是这些给定技术的初学者。

这个应用程序有一个文件上传实用程序。在此实用程序下,用户以 HTML 形式输入有关文件的一些基本信息,并使用浏览按钮提供本地计算机上文件的路径。当用户单击提交按钮时,表单中的数据会保存在数据库中,并且文件会上传到服务器上由应用程序指定的固定公共位置。在将文件上传到服务器时,此实用程序将在给定的修复公共位置创建一个目录,并将文件上传到此创建的目录中。

我有以下问题和疑问,我希望得到专家的指导和解决方案。

  1. 目前我的网络服务器和数据库服务器在同一台机器上,上传的文件也在应用程序目录中的同一网络服务器上。我想让上传的文件非常安全。请问专家这种设置是否正确,或者是否有其他针对相同情况的安全完善的设置设计?

  2. 登录到应用程序的用户数量尚未确定,但可能从几个数字到数千个。上传文件的数量没有限制。 所以最后,修复公共位置的所有用户上传的文件的总大小可能是 GB 或几个 tb目前没有关于所需磁盘空间的问题,但仍然欢迎有关此的建议和指导

  3. 正如上面提到的过程,我需要在给定的修复公共位置创建一个目录。服务器或服务器上的其他安全应用程序是否将允许我动态创建修复公共位置的目录?

  4. 将上传的文件放在自己的 Web 应用程序文件夹中是一种好习惯吗?

谢谢你!

0 投票
1 回答
721 浏览

web-applications - Web表单/所见即所得编辑器的注释/评论

我正在构建一个用户可以在其中撰写文章的 Web 应用程序。它是用 PHP/mySQL 编写的。

目前我使用一个简单的文本表单,用户可以在其中编写他们的内容。格式化稍后由 XML 导出/布局应用程序完成。

但是:用户想为彼此分享评论。要理解:Microsoft Word 有一个很好的评论功能。每个用户的评论都有讲话泡泡。目前,用户将他们的内容写在 Word 文档中,并通过电子邮件相互发送。

现在:有谁知道所见即所得编辑器(如“MarkItUp!”)中评论/注释的解决方案?或 TinyMCE。我目前不使用任何所见即所得,所以我可以实现其中任何一个。或者其他一些方法来做到这一点......

一个想法是实现一个评论功能,就像一个附加的文本框一样——但这不允许对单个单词/句子进行评论。

我找到了http://www.youtube.com/watch?v=WzaCj6KGvWs,但我找不到要下载的插件。

非常感谢您的任何想法。席尔万

0 投票
1 回答
778 浏览

database-design - 买卖双方徽章分配模块数据库设计

我正在开发一个 B2B 交易应用程序,它有各种产品的买家和供应商。

我正在尝试开发一个“徽章分配模块”,该模块将用于根据买家和供应商的验证、购买/销售实力、+ve 反馈等,通过管理面板将徽章分配给他们。用户可以获得一个或多个徽章。

分配的徽章应该有一个有效期。请帮助我进行数据库设计 - 所需的表和列是什么?

请建议在 asp.net 中是否有任何开源/入门工具包应用程序正在实现相同的逻辑。

0 投票
1 回答
105 浏览

asp.net - 在网站上下载许多文件的最佳方式

我正在设计一个网站,让用户将本地文件夹同步到在线文件夹(有点像保管箱)。

我试图找到一种方法来避免开发本地工具来进行下载和同步。并以某种方式在线进行。

是否可以在某个目录树中下载多个文件?网站可以免费写入本地目录吗?

zip 文件不是一个选项,因为文件批次可能会变得非常大。

编辑:同步不应该定期发生。就在用户登录网站时。

0 投票
1 回答
1166 浏览

mongodb - 个性化的like/unlike 逻辑——应该推送到视图、数据还是服务层?

想看看是否在客户端视图或数据库查询中保留显示喜欢/不喜欢按钮的逻辑的位置达成共识。将逻辑推送到查询本身可以使其保持干净和一致,但需要对帖子主页列表的每个查询进行个性化处理,并且不允许缓存该请求。

设置:MongoDb 数据库(或者可能是 neo4j)、node.js api 和应用服务器、iOS 移动客户端和网站。大多数帖子可以有十几个赞,但少数帖子会有数百个赞。大多数用户会喜欢 50 - 300 个帖子,少数用户喜欢数千个帖子。

我的用例:用户浏览最近热门帖子的列表,并根据他们是否已经喜欢该帖子,在每个帖子旁边看到一个“喜欢”或“不喜欢”按钮。

解决方案-

方法 1:将查询中的用户 ID 传递给数据库,并返回一个最受欢迎的帖子列表,其中包含在查询中计算的 isLiked 属性。

方法 2:客户端应用程序为该用户获取并保持同步的喜欢的 id,并且视图确定是否为任何给定的帖子列表显示“喜欢”或“不喜欢”按钮。帖子列表可以缓存在服务器上或 CDN 中,不需要任何个性化设置。

方法3?在 rest api 服务层有更有效的方法吗?

0 投票
1 回答
1731 浏览

java - 在struts ActionError验证()方法中转发到输入页面失败

在 struts-config.xml 中:

在 PackageForm.java 中(扩展 ActionForm 类)

我期望什么:

发生错误时重定向到“/packages/pUF.jsp”页面。

怎么了:

发生 HTTP 错误 500。

注意:在我的控制器中,属性“inputForward”的设置值为 true。