You should declare your webdriver static, then use @BeforeClass to instantiate it and log-on to your app. You should do this in each test class, independently of the others. So, each test case has the logon as a default given. You can then have each test method (@Test) assume that you're logged on.
This probably won't really give you the separation you want though. If the server is refusing to log you on because someone has changed your password then all of your tests are going to fail.
This isn't your biggest problem though. Your biggest problem is that you're pouring concrete all over your UI, metaphorically at least. Your developers may choose, at some point, to change the submit buttons to anchors, to skin each one using jquery-ui's button, and then use javascript to invoke the form submit only if some basic validation has passed (this is very common). If this happens the behavior of your system will not have changed, and the UI will look pretty much the same, but your tests will fail. Probably many tests. For this reason, and many others, professional java developers rarely go within 10 feet of selenium. It violates most of the principles of testing. (note: there are so many java developers, that even rare use of a tool can mean that there are tens of thousands of people doing exactly that). Rather than use selenium, I'd take a look at BDD using jbehave and testing through your api rather than your GUI.
BTW: You shouldn't use import xxx.* -- it's allowed but considered bad practice.