When a favorite character from a book or comic book gets adapted into a film, there is always going to be a lot of pressure on casting. Fans want to see their favorite characters come to life just as they imagine them, and that starts with casting the right actor. Of course, not everybody is always happy. Frequently new casting announcements are met with hate, even if they are eventually embraced.
Keanu Reeves as John Constantine was one such casting decision. When he was originally cast in Constantine, fans had a real problem. To be sure, he looked almost nothing like the character as he was portrayed in the comics, so those looking for a traditional adaptation were out of luck. Frank Cappello, who wrote the screenplay for the first movie, recently appeared in a Reddit AMA where he discussed the hate he saw from fans online who were unhappy with Keanu’s casting. Even though many eventually came around. Cappello said…
I was on the Hellblazer chat site in England while writing the first one and heard all the gripes about Keanu being in it and disowning it before it ever came out, so there was no winning them over at that point. When it finally came out, they were split. It wasn't their JC, it was America's and of course they rebelled, but many liked it for what it was - and the haters got their series with an English guy and the fans of the film started screaming - where's Keanu! And the series failed.
As Cappello mentions, fans got a more page-accurate version of John Constantine on TV, and while the character was popular with some fans, enough to see the character return in a totally different series, the standalone Constantine series failed, which Cappello blames, at least in part, in the way the show was different from the film.
In the end, a lot of fans came around to Keanu as Constantine. It's now seen as one of the best movies of the 2000s to the point where there has been an ongoing effort to make a sequel happen for years, despite the fact the first movie wasn’t a runaway hit. Cappello likens the situation to Michael Keaton becoming Tim Burton’s Batman. The Keaton casting decision was also criticized by fans, as Keaton had never done anything like it and wasn’t seen as an action movie star. In the end, Keaton’s Batman is seen by many as the best in live-action. Cappello continued…
It's like fans of Batman hated Michael Keaton originally cast as Batman and yet screamed for his return after Clooney and Val and it's the only thing in current The Flash people didn't hate - the return of Keaton as Batman.
And as with Keaton’s Batman, fans are now going to get the return of Keanu’s Constantine. Constantine 2 is a project now in active development. Fans will likely be very happy, which is not to say that there won’t be some people upset by future casting announcements.