大抵の文字化けは、<form>から送信されたパラメータのエンコードを指定していないのが原因です。
java
1import java.io.IOException;
2
3import javax.servlet.ServletException;
4import javax.servlet.annotation.WebServlet;
5import javax.servlet.http.HttpServlet;
6import javax.servlet.http.HttpServletRequest;
7import javax.servlet.http.HttpServletResponse;
8
911
12@WebServlet("/FormSample")
13public class FormSample extends HttpServlet {
14
15 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
16 request.setCharacterEncoding("utf-8");
17
18 String name = request.getParameter("name");
19 log(name);
20 }
21
22}
utf-8で構成されているJSPやデータベースであれば、
request.setCharacterEncoding("utf-8");
を指定すると、リクエスト情報の文字コードはutf-8であると認識します。
他にも文字化けしているかどうかは、EclipseやIntelliJ IDEAなどのIDEにてデバッグモードで起動し、ブレークポイントで停止させてその値を確認する方法が一番堅実でしょう。