Skip to content

sambatriste/webstudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webアプリ勉強

ルーティング

Servlet API3.0から導入された@WebServletを使用する。 以下の例では、URL”/hello”へGETリクエストが送信された場合、HelloServlet#doGetが起動される。

@WebServlet(urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
    }

バリデーション

BeanValidationを用いてバリデーションを行う。

Beanを作成する

バリデーションを行うには、入れ物となるBeanを作成しアノテーションを付与する。

public class Member {

    private String name;

    @NotEmpty(message = "名前は必須項目です。")
    @Size(max = 64, message = "名前は1〜64文字で入力してください。")
    public String getNameName() {
        return familyName;
    }
}

Beanを生成する

バリデーションを実行するには、対象となるBeanインスタンスが必要である。 HttpServletRequestのパラメータからBeanを生成する。 ユーティリティクラスがあるので、それを利用する。

Member member = SimpleBeanUtil.create(req.getParameterMap(), Member.class);

やっていることは単なる値の移送である。

Validationを実行する

Beanのインスタンスが生成できたら、バリデーションを実行し、 そのインスタンスが妥当であるか確認する。

ValidationResult<Member> result = ValidationExecutor.validate(member);
if (result.isError()) {
   // エラー時の処理...
}

ValidationExecutorは、BeanValidationを使用する際に必要となる定形処理を行う。 最終的にはjavax.validation.Validator実装を使用し、

  • javax.validation.Validator#validate(T object, Class<?>… groups)

を呼び出してバリデーションを行っている。

内容は各自でソースコード確認すること。

フォワード

JSP等にフォワードする場合は、SerlvetAPIを使用する。

req.getRequestDispatcher("/path/to/forward.jsp")
   .forward(req, resp);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages