Groovy開発webアプリケーション入門例

4622 ワード

本人はオリジナルで、転載を歓迎します.作者の情報を保留してください.ブログ:http://wallimn.iteye.com時間:2014-12-10
環境設定をコンパイルして、ネット上で多くの文章があります.ここでは紹介しません.eclipseを使って手動で作成して、dynamic webプロジェクトを新たに作って、必要なカバンをWEB-INF\libカタログに入れて、web.xmlを修正して、servletに関する設定を入れて、いくつかgsp、groovyファイルをWebContディレクトリに入れてください.最初は文字化けの問題もありました.長い間原因を探して、最後にfilterを使って直しました.すべてのコードはUTF-8を使っていますので、少しお願いします.
私の例は簡単な登録モジュールではなく、三つのファイルにのみ関連しています.これは何日間勉強したばかりです.手作りの一例です.フレームや新技術がないので、牛人は回り道してください.書類の内容を紹介します.
一、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

  <servlet>
    <servlet-name>Groovlet</servlet-name>
    <servlet-class>groovy.servlet.GroovyServlet</servlet-class>
    <init-param>
      <param-name>verbose</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>resource.name.regex</param-name>
      <param-value>none</param-value>
    </init-param>
    <init-param>
      <param-name>resource.name.replacement</param-name>
      <param-value>none</param-value>
    </init-param>
  </servlet>
    
  <servlet>
    <servlet-name>Template|GSP</servlet-name>
    <servlet-class>groovy.servlet.TemplateServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Groovlet</servlet-name>
    <url-pattern>*.groovy</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>Template|GSP</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>  

  <welcome-file-list>
    <welcome-file>index.gsp</welcome-file>
    <welcome-file>index.groovy</welcome-file>
  </welcome-file-list>

</web-app>
二、ログインページ、ファイル名:login.gsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>    </title>
</head>
<body>
<form action="login.groovy?method=login" method="post"  style="text-align:center;">
   :<input type="text" name="name"/><br/>
   :<input type="password" name="pwd"/><br/>
<input type="submit" value="  ">
<%
	if (request.getAttribute("actionInfo")!=null)
		println "<br/>${request.getAttribute("actionInfo")}<br/>";
%>
</form>
</body>
</html>
三、登録検証、ファイル名:login.groovy

def method=request.getParameter("method");

if("login"==method){
	def name = request.getParameter("name");
	def pwd = request.getParameter("pwd");
	if (name=="admin" && pwd=="1"){
		request.getSession().setAttribute("loginedUserName",name);
		request.getRequestDispatcher("./index.gsp").forward(request,response);
	}
	else{
		request.setAttribute("actionInfo","         !");
		request.getRequestDispatcher("./login.gsp").forward(request,response);
	}
}
四、登録成功ページ、ファイル名:index.gsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>      </title>
</head>
<body>
    ,   :${session.getAttribute("loginedUserName")}
</body>
</html>