struts-入门 登陆 maven 构建

来源:互联网 发布:牛扒和牛排区别知乎 编辑:程序博客网 时间:2024/05/16 07:56

接触到别人的新的项目, 不得不研究下Struts2了. 用struts2写了一个登录例子, 大致了解了一下.

1. web.xml代码:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4"   
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  7.       
  8.     <!-- 配置struts2的过滤器 -->  
  9.     <filter>  
  10.         <filter-name>struts2</filter-name>  
  11.         <filter-class>  
  12.             org.apache.struts2.dispatcher.FilterDispatcher  
  13.         </filter-class>  
  14.     </filter>  
  15.   
  16.     <filter-mapping>  
  17.         <filter-name>struts2</filter-name>  
  18.         <url-pattern>/*</url-pattern>  
  19.     </filter-mapping>  
  20.       
  21.     <welcome-file-list>  
  22.         <welcome-file>login.jsp</welcome-file>  
  23.     </welcome-file-list>  
  24. </web-app>  

 

2.登录页面login.jsp

Html代码  收藏代码
  1. <%@ page pageEncoding="utf-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags" %>  
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.   <head>      
  7.     <title>Struts2 Person Login Test</title>  
  8.   </head>  
  9.     
  10.   <body>  
  11.     <s:form action="UserLogin">  
  12.         <s:textfield name="per.username" label="username"></s:textfield>  
  13.         <s:password name="per.password" label="password"></s:password>  
  14.         <s:submit></s:submit>  
  15.     </s:form>  
  16.   </body>  
  17. </html>  

 

3.登录成功页面login_s.jsp

Html代码  收藏代码
  1. <%@ page language="java"  pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. String username = (String)session.getAttribute("user");  
  6. %>  
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.     <title>Struts2 Person Login Result</title>  
  13.   </head>  
  14.     
  15.   <body>  
  16.     Hi:<br>  
  17.     <%=username%><br>  
  18.     Welcome... <br>  
  19.   </body>  
  20. </html>  

 4. Action代码PersonAction.java

Java代码  收藏代码
  1. package com.greatwqs.action;  
  2.   
  3. import java.util.Map;  
  4.   
  5. import com.greatwqs.dao.PersonDao;  
  6. import com.greatwqs.entity.Person;  
  7. import com.opensymphony.xwork2.ActionContext;  
  8. import com.opensymphony.xwork2.ActionSupport;  
  9. /*** 
  10.  *  
  11.  * @author greatwqs.iteye.com 
  12.  * @data 2011-12-01 
  13.  */  
  14. public class PersonAction extends ActionSupport {  
  15.   
  16.     private Person per;  
  17.   
  18.     private static final long serialVersionUID = 1L;  
  19.   
  20.     public String execute() throws Exception {  
  21.         PersonDao dao = new PersonDao();  
  22.         boolean flag = dao.isPersonCanLogin(per.getUsername(), per.getPassword());  
  23.         if(flag){  
  24.             Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);  
  25.             session.put("user", per.getUsername());  
  26.             return SUCCESS;  
  27.         } else {  
  28.             return INPUT;  
  29.         }  
  30.     }  
  31.   
  32.     public Person getPer() {  
  33.         return per;  
  34.     }  
  35.   
  36.     public void setPer(Person per) {  
  37.         this.per = per;  
  38.     }  
  39. }  

 

 

5. 实体代码Person.java

Java代码  收藏代码
  1. package com.greatwqs.entity;  
  2. /*** 
  3.  *  
  4.  * @author greatwqs.iteye.com 
  5.  * @data 2011-12-01 
  6.  */  
  7. public class Person {  
  8.   
  9.     private String username;  
  10.       
  11.     private String password;  
  12.   
  13.     public String getUsername() {  
  14.         return username;  
  15.     }  
  16.   
  17.     public void setUsername(String username) {  
  18.         this.username = username;  
  19.     }  
  20.   
  21.     public String getPassword() {  
  22.         return password;  
  23.     }  
  24.   
  25.     public void setPassword(String password) {  
  26.         this.password = password;  
  27.     }     
  28. }  

 

 

6. 数据库持久层代码PersonDao.java

Java代码  收藏代码
  1. package com.greatwqs.dao;  
  2. /*** 
  3.  *  
  4.  * @author greatwqs.iteye.com 
  5.  * @data 2011-12-01 
  6.  */  
  7. public class PersonDao {  
  8.   
  9.     /*** 
  10.      * 根据用户名和密码,判断用户是否能登陆! 
  11.      * @param username 
  12.      * @param password 
  13.      * @return 
  14.      */  
  15.     public boolean isPersonCanLogin(String username, String password) {  
  16.         return username.equals(password);  
  17.     }  
  18. }  

 7. struts.xml

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.     <!-- 改变url现实的后缀,默认是action -->  
  7.     <constant name="struts.action.extension" value="xhtml" />  
  8.       
  9.     <package name="struts2login" extends="struts-default">  
  10.         <!-- 这里的Class是由Spring里面制定的ID,如果单独用struts2,则这里是包名+类名 -->  
  11.         <action name="UserLogin" class="com.greatwqs.action.PersonAction">  
  12.             <result name="success" >/login_s.jsp</result>  
  13.             <result name="input">/login.jsp</result>  
  14.         </action>       
  15.     </package>  
  16. </struts>  

 保存起,后面再接触这个,再翻翻!

 classpath:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <classpath>  
  3.     <classpathentry kind="src" path="src"/>  
  4.     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>  
  5.     <classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>  
  6.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm.jar"/>  
  7.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload.jar"/>  
  8.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io.jar"/>  
  9.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts.jar"/>  
  10.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-core-2.0.11.jar"/>  
  11.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/xwork-2.0.4.jar"/>  
  12.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar"/>  
  13.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ognl-2.6.11.jar"/>  
  14.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-attrs.jar"/>  
  15.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-commons-2.2.3.jar"/>  
  16.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-util-2.2.3.jar"/>  
  17.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjrt.jar"/>  
  18.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjweaver.jar"/>  
  19.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker-2.3.8.jar"/>  
  20.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker.jar"/>  
  21.     <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>  
  22. </classpath>  

 

开发环境:


原创粉丝点击