如何在不使用web.xml部署描述符的情况下从表单的action中调用servlet?从没有web.xml部署描述符的html表单中调用servlet
1
A
回答
4
升级到Java EE 6/Servlet 3.0,那么您将能够通过@WebServlet
注释注册servlet。
package com.example;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
@WebServlet(urlPatterns={"/myServlet/*"})
public class MyServlet extends HttpServlet {
// ...
}
不再需要web.xml
了。以上基本上不相同如下:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet/*</url-pattern>
</servlet-mapping>
至于现在你可以从每个Glassfish v3和Tomcat 7如Servlet的3.0实现下选择。
在Servlet 3.0之前,您最好的选择可能是前端控制器模式。在web.xml
中有一个servlet,它根据请求参数和/或pathinfo将请求/操作委托给域对象。这也用于平均MVC框架。
1
您可以直接使用类名来调用Web服务器中的servlet。
如果您的网址是http://myurl.com/
然后,将完整的类名追加到url将调用该servlet。
如:
如果我的servlet是com.my.package.servlet.MyServlet
然后,您可以使用http://myurl.com/com.my.package.servlet.MyServlet
要传递的参数,http://myurl.com/com.my.package.servlet.MyServlet?name=myname&user=myuser
的网址变脏虽然。但是你不需要使用web.xml来调用这个servlet。
相关问题
- 1. 使用JSP,部署描述符(web.xml)是否过时?
- 2. Liferay的部署描述符
- 3. 从HTML表单调用servlet的,但没有从servlet响应
- 4. 什么是ias-web.xml部署描述符文件?
- 5. 如何在web.xml描述符中实现复杂的servlet映射
- 6. 哪个更好的专业(web.xml中(部署描述符)或@WebServlet标注使用
- 7. 在Tomcat中启动时加载上下文/ servlet *不更改部署描述符(web.xml)
- 8. WebSphere 8.5.5.11如何处理部署描述符(如web.xml)内的选项卡?
- 9. 在哪里可以找到部署描述符(web.xml)的完整文档
- 10. 未找到Eclipse部署描述符
- 11. 无法生成部署描述符
- 12. Web服务部署描述符
- 13. Ejb部署描述符和注释
- 14. @Schedule注释部署描述符标签?
- 15. 从HTML表单调用servlet,但从不调用servlet
- 16. 全局描述符表和局部描述符表
- 17. Tomcat web.xml描述符中的独有url模式
- 18. 如何在没有部署描述符的Spring中注册监听器
- 19. 如何从Maven Assembly插件的另一个描述符中调用描述符?
- 20. 如何添加单独的Web部署描述符?
- 21. Java EE 6中的应用程序部署描述符
- 22. 描述方法没有被调用
- 23. 使用ANT创建Websphere部署描述
- 24. 在部署描述符中覆盖带注释的MDB目标
- 25. 当HTML中没有描述时,Google如何获取网站的描述?
- 26. Websphere:使用部署描述符配置共享库
- 27. 如何使用ejbGen for weblogic生成部署描述符?
- 28. 在没有元标记描述的网站中提取描述?
- 29. 没有单独的描述符XML文件的Maven Assembly插件
- 30. 对于Java Web应用程序部署描述符中的servlet,<load-on-startup>是否可选?
你不能。 web.xml是servlet的工作方式。 – skaffman 2010-08-03 21:56:32
会有什么意义?例如: – 2010-08-03 23:15:29
@matt:以JAR形式发布。只需包含在classpath中,它就会被注册。 – BalusC 2010-08-03 23:30:39