struts-入门 登陆 maven 构建

xiaoxiao2021-02-28  73

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

1. web.xml代码:

Xml代码   <?xml version="1.0" encoding="UTF-8"?>   <web-app version="2.4"        xmlns="http://java.sun.com/xml/ns/j2ee"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">              <!-- 配置struts2的过滤器 -->       <filter>           <filter-name>struts2</filter-name>           <filter-class>               org.apache.struts2.dispatcher.FilterDispatcher           </filter-class>       </filter>          <filter-mapping>           <filter-name>struts2</filter-name>           <url-pattern>/*</url-pattern>       </filter-mapping>              <welcome-file-list>           <welcome-file>login.jsp</welcome-file>       </welcome-file-list>   </web-app>  

 

2.登录页面login.jsp

Html代码   <%@ page pageEncoding="utf-8"%>   <%@ taglib prefix="s" uri="/struts-tags" %>      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   <html>     <head>           <title>Struts2 Person Login Test</title>     </head>          <body>       <s:form action="UserLogin">           <s:textfield name="per.username" label="username"></s:textfield>           <s:password name="per.password" label="password"></s:password>           <s:submit></s:submit>       </s:form>     </body>   </html>  

 

3.登录成功页面login_s.jsp

Html代码   <%@ page language="java"  pageEncoding="UTF-8"%>   <%   String path = request.getContextPath();   String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";   String username = (String)session.getAttribute("user");   %>      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   <html>     <head>       <base href="<%=basePath%>">       <title>Struts2 Person Login Result</title>     </head>          <body>       Hi:<br>       <%=username%><br>       Welcome... <br>     </body>   </html>  

 4. Action代码PersonAction.java

Java代码   package com.greatwqs.action;      import java.util.Map;      import com.greatwqs.dao.PersonDao;   import com.greatwqs.entity.Person;   import com.opensymphony.xwork2.ActionContext;   import com.opensymphony.xwork2.ActionSupport;   /***   *    * @author greatwqs.iteye.com   * @data 2011-12-01   */   public class PersonAction extends ActionSupport {          private Person per;          private static final long serialVersionUID = 1L;          public String execute() throws Exception {           PersonDao dao = new PersonDao();           boolean flag = dao.isPersonCanLogin(per.getUsername(), per.getPassword());           if(flag){               Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);               session.put("user", per.getUsername());               return SUCCESS;           } else {               return INPUT;           }       }          public Person getPer() {           return per;       }          public void setPer(Person per) {           this.per = per;       }   }  

 

 

5. 实体代码Person.java

Java代码   package com.greatwqs.entity;   /***   *    * @author greatwqs.iteye.com   * @data 2011-12-01   */   public class Person {          private String username;              private String password;          public String getUsername() {           return username;       }          public void setUsername(String username) {           this.username = username;       }          public String getPassword() {           return password;       }          public void setPassword(String password) {           this.password = password;       }      }  

 

 

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

Java代码   package com.greatwqs.dao;   /***   *    * @author greatwqs.iteye.com   * @data 2011-12-01   */   public class PersonDao {          /***       * 根据用户名和密码,判断用户是否能登陆!       * @param username       * @param password       * @return       */       public boolean isPersonCanLogin(String username, String password) {           return username.equals(password);       }   }  

 7. struts.xml

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

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

 classpath:

Xml代码   <?xml version="1.0" encoding="UTF-8"?>   <classpath>       <classpathentry kind="src" path="src"/>       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>       <classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-core-2.0.11.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/xwork-2.0.4.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ognl-2.6.11.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-attrs.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-commons-2.2.3.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-util-2.2.3.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjrt.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjweaver.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker-2.3.8.jar"/>       <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker.jar"/>       <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>   </classpath>  

 

开发环境:

转载请注明原文地址: https://www.6miu.com/read-65585.html

最新回复(0)