Because you didn't fully bring in the mvc namespace. And you have aop namespace partly in there too. xml namespaces are about xml, and Spring creates a number of xml namespaces. You need two parts in the header to add a namespace.
The first part like this
xmlns:mvc="
http://www.springframework.org/schema/mvc"
sets the prefix "mvc" to the key string of "
http://www.springframework.org/schema/mvc"
That key is used in the xsi:schemaLocation attribute, where you need the key and the .xsd, like a key value pair.
If you look at your schemaLocation you can see each pair. You have one for beans tags
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
You have one for context, and one for aop.
To fix it, you can just change the schemaLocation parts in the string that points to aops xsd file and where ever you see the text "aop" replace it with "mvc"
So you end up having
Mark