Either Struts or JavaServer Faces can provide a useful framework for developing dynamic Web applications. Consider the following table which compares JavaServer Faces, JavaServer Pages, and JSP and Struts.
| JavaServer Faces | JavaServer Pages | JSP and Struts | |
|---|---|---|---|
| Components |
|
|
|
| Device independence |
|
|
|
| Error handling and validation |
|
|
|
| Scripting |
|
|
|
| Page flow |
|
|
|
| Session and object management |
|
|
|