2.即index.jsp发送请求http://localhost:8080/jello/portal/
由于/jello/web.xml中:
<security-constraint>(安全域)的url-pattern配置的是/*
即:所有匹配http://localhost:8080/jello/*的请求都要经过身份认证。
由于:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
所以:从login.jsp登录。
经过DataSourceRealm的认证,才能转到请求:
http://localhost:8080/jello/*
如:http://localhost:8080/jello/portal
由于servlet得配置:
<servlet-mapping>
<servlet-name>portal</servlet-name>
<url-pattern>/portal/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>portal</servlet-name>
<servlet-class>com.x4ee.soa.portal.impl.PortalServlet</servlet-class>
</servlet>
所以请求最后发送到了:
com.x4ee.soa.portal.impl.PortalServlet
PortalServlet通过读取数据库Profile跳转到相应的页面。
--------------------------------------------------------------------------------------------
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>jello</display-name>
<icon>
<small-icon>/logo16x16.ico</small-icon>
<large-icon>/logo32x32.ico</large-icon>
</icon>
<listener>
<listener-class>com.x4ee.soa.portal.impl.PortalStartupListener</listener-class>
</listener>
<servlet>
<servlet-name>portal</servlet-name>
<servlet-class>com.x4ee.soa.portal.impl.PortalServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>profle</servlet-name>
<servlet-class>com.x4ee.soa.portal.impl.ProfleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>portal</servlet-name>
<url-pattern>/portal/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>profle</servlet-name>
<url-pattern>/profile/*/*</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>security</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>*</role-name>
</security-role>
<error-page>
<error-code>404</error-code>
<location>/login.jsp</location>
</error-page>
</web-app>
********************************************************************************************