Groovy开发web应用入门示例

  本人原创,欢迎转载,请保留作者信息。博客:http://wallimn.iteye.com 时间:2014-12-10

  编译环境设置,网上有较多文章,这里不介绍了,我使用eclipse手动创建,新建一个dynamic web工程,把需要的包加到WEB-INF\lib目录中,修改web.xml,加入关于servlet的设置,再建几个gsp、groovy文件放在WebContent目录中,就可以了。开始时还有乱码问题,找了好长时间原因,最后使用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>

你可能感兴趣的:(groovy)