我正在将JSP与Apache Tomcat服务器一起用于Web项目。
我不理解.do
个文件或它们的使用方式,但I see them come up描述了如何处理我需要做的事情。
我的理解就是这样:
.do
个文件,所以很多人都认为这些文件相互关联.do
文件在Java Servlet Specification中描述,因此并非特定于Struts
.do
个文件(我感兴趣)的至少一个主要用例是在HTML / JS表单和Java / JSP之间轻松传递数据。如果我创建了一个表单,例如我链接的第一个答案中的表单:
<form action="MyServlet.do" method="post">
<input type="text" name="nameThree" value="Enter a Name" onClick="if(this.value == 'Enter a Name'){this.value = '';}" />
<input type="submit">
</form>
除非我创建它提到的.do
文件,否则会抛出404错误。一旦创建了.do
文件,代码就会运行,但由于缺少一些内容,似乎没有做任何事情。
我不确定.do
文件是否应该是空的,或者我是否应该将代码放入其中等等。
因此,我的问题是: 在Struts框架的上下文之外,JSP中如何使用.do文件在Java和前端Web表单之间传递数据?
答案 0 :(得分:4)
我意识到这可能有点难以解释,所以我会尽我所能。
&#34;。做&#34;扩展(在URL请求中)最常见于基于struts 1的Web应用程序中。也就是说,它的工作方式是将webapp配置为将带有.do扩展名的http请求路由到strut servlet(通常在web.xml中)。这就是struts如何做到这一点(将http请求映射到表单,识别post vs get请求,转发到action类等)。
在非struts应用中,您的http请求需要路由到要提供的资源。您可以使用servlet执行此操作。或者,您可以只返回静态文件(如果您编写自己的file.do),但Tomcat不会将文件扩展名识别为需要翻译和编译的JSP(因此Tomcat会为您提供404)
可能您仍然需要配置服务器(tomcat)来提供HTML页面。 JSP是您可以在服务器上创建动态HTML的众多产品之一。你可以做很多事情(在今天的标准中考虑不好的做法,例如建立数据库连接,进行休息呼叫等)。最后,您可以在JSP中编写Java。
如果您正在构建一个简单的Web应用程序,我建议使用一个不同的更简单的框架,如Spring Boot,以使其更容易。如果您绝对想要执行JSP,请确保http请求始终获取.jsp文件。如果需要特殊扩展,则需要将这些扩展映射到servlet并在web.xml中编写/配置它。
希望这有帮助!