As a general rule, you should avoid any database operations that change the state of your DB or app on requests of type GET.
With requests of type POST, the browsers will help you a bit by either using a cached version of the page, if available, or by warning the user that refreshing this page (or going to it with the back button) will cause the post that generated it to be repeated.
If it's too late for that, you could try putting a marker in session scope when the user first access this page. Then check for the marker before performing your database insert.
That would, at least limit inserts to one per user session.