Its not difficult either.
struts is just another convenient way of coding web applications where the normal chores like coding a servlet , destroy , inti etc are pushed into framework so that you dont need to be bothered and concentrate on your own stuff.
front controller is the action servlet supplied by struts framework which actually extends HttpServlet and does the same stuff as your normal servlet in your application would do and passes the control to the action class specified by you in struts-config.xml
value objects / transfer objects / for beans / action forms all are one and same , they serve the purpose of transport vehicles . they take data from one place to another place