Bre*_*iti 7 java servlets liferay liferay-6
我想在liferay中创建一个正在监听URL的servlet
http://localhost:8080/my-servlet
Run Code Online (Sandbox Code Playgroud)
我试图将它添加到portlet但我有URL
http://localhost:8080/my-portlet/my-servlet
Run Code Online (Sandbox Code Playgroud)
我试图将我的servlet描述添加到ext-web的web.xml中,但没有运气.有没有办法添加这样的servlet?
Ala*_*sse 11
如果要访问Liferay服务API,可以考虑使用PortalDelegateServlet:将以下内容添加到web.xml:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>org.example.MyServlet</param-value>
</init-param>
<init-param>
<param-name>sub-context</param-name>
<param-value>myservlet</param-value>
</init-param>
</servlet>
Run Code Online (Sandbox Code Playgroud)
将使你的servelt通过
http://example.org/delegate/myservlet
在您的servlet类中,然后执行诸如解压缩登录用户和检查权限之类的操作:
package org.example;
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user = PortalUtil.getUser(request);
PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(user);
...
Run Code Online (Sandbox Code Playgroud)
Liferay也是"Servlet" - 应用程序 - 但是非常非常大.而Liferay需要一些servlet容器,如tomcat,jetty,jboss等.
但是,您可以简单地创建servlet项目并将其直接部署到运行liferay的servlet容器中.
编辑:通过servlet映射到web.xml,直接访问"/*".
| 归档时间: |
|
| 查看次数: |
8492 次 |
| 最近记录: |