I teach my students who versus whom by giving them the hint that who replaces he/she and whom replaces him/her. I point out that him ends in m and thus needs whom. I tell them to replace him with her if it's a female and then revert back to him.
It's little tricks like that that make studying these nuisances of the English language more bearable for the faint of heart (or patience).
In discussing relative pronouns, we look at the difference between which and that. That is used when the information is necessary to the meaning of the independent clause. The pronoun which is used when the information is not necessary. This dependent clause is offset by a comma in front of which.
A little trick I use to help my students remember if it's which or that is if it's need to know info or not. I liken it to reporting versus tattling. You need your teacher to know THAT something is not safe. I explain the information in the dependent clause with the pronoun which is often something nice for the reader to know instead of what they must know right now (just like in tattling). I also reference the comma that when tattling the teacher doesn't always need to know so you could sometimes wait to tell him/her. A comma is a pause so I let them know that a comma is like the waiting time to tell the teacher. Silly and sounds complicated, but they really seemed to get it.
I have placed my Clauses, Relative Pronouns, and Relative Adverbs on TeachersPayTeachers. It includes definitions, hints, and examples. I use these notes in my students grammar interactive notebooks. They just cut around the border and glue right in. The corresponding slide presentation can be seen here: Relative Pronoun and Adverb Slide Prentation.