struts2登录程序

调了好久Struts2   这是一个简单的登录例子.

1、安装javaee版 eclipse   下载地址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junor

      2、下载struts2压缩包。解压apps/struts2-blank.war文件。

      3、建一个Dynamic Web Project,将上述2中解压得到文件的apps\struts2-blank\WEB-INF\lib内jar包复制到WebContent/WEB-INF/lib目录下

       4、改写web.xml,需要加一个过滤器

  1. <filter>  
  2.     <filter-name>struts2</filter-name>  
  3.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  4. </filter>  
  5. <filter-mapping>  
  6.     <filter-name>struts2</filter-name>  
  7.     <url-pattern>/*</url-pattern>  
  8. </filter-mapping>  
          将这段代码加入到你的web.xml中去,我自己的一个例子:  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <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">  
  3.   <display-name>struts2test</display-name>  
  4.   <welcome-file-list>  
  5.     <welcome-file>Login.jsp</welcome-file>  
  6.   </welcome-file-list>  
  7.   <filter>  
  8.     <filter-name>struts2</filter-name>  
  9.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  10.   </filter>  
  11.   <filter-mapping>  
  12.     <filter-name>struts2</filter-name>  
  13.     <url-pattern>/*</url-pattern>  
  14.   </filter-mapping>  
  15. </web-app>  
         5、创建一个java类,命名为LoginAction.java     
  1. package action;  
  2. import com.opensymphony.xwork2.ActionSupport;  
  3. public class LoginAction extends ActionSupport{  
  4.     private String username;  
  5.     private String password;  
  6.     public String execute() {  
  7.         if(username.equals("asd")&&password.equals("asd"))  
  8.             return SUCCESS;  
  9.         return ERROR;  
  10.     }  
  11.     public String getUsername() {  
  12.         return username;  
  13.     }  
  14.     public void setUsername(String username) {  
  15.         this.username = username;  
  16.     }  
  17.     public String getPassword() {  
  18.         return password;  
  19.     }  
  20.     public void setPassword(String password) {  
  21.         this.password = password;  
  22.     }  
  23.       
  24. }  
        SUCCESS和ERROR是字符串,分别是"success"和"error",可直接用    

6、在存放java代码的目录下(src)创建一个struts.xml,里面的内容:   

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"   
  3. "http://struts.apache.org/dtds/struts-2.1.dtd">  
  4. <struts>  
  5.     <constant name="struts.devMode" value="true"></constant>  
  6.     <constant name="struts.i18n.encoding" value="utf-8"></constant>  
  7.     <package name="default" extends="struts-default">  
  8.         <action name="loginAction" class="action.LoginAction">  
  9.             <result name="success"> index.jsp</result>  
  10.             <result name="error"> error.jsp</result>  
  11.         </action>  
  12.     </package>  
  13. </struts>  
           其中,除了package标签及其子标签的内容需要改之外,其他基本不变,第二个constant标签的value值utf-8表示编码,根据实际情况改。package的name和extends一般也不该,action中,name随自己写,class就是刚才创建的那个类(得包括包名),这样loginAction就与java类LoginAction对应了,result表示,如果LoginAction类返回的字符串是“success”,页面就跳转到index.jsp,如果是“error”就到error.jsp…………当然不一定要这些字符串的,可以自己去弄

           7、编写一个Login.jsp:  

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>Insert title here</title>  
  8. </head>  
  9. <body>  
  10.     <form action="loginAction">  
  11.         用户名:<input type="text" name="username"/><br/>  
  12.         密码:<input type="text" name="password"/><br/>  
  13.         <input type="submit" value="登录" name="登录"/>   
  14.     </form>  
  15. </body>  
  16. </html>  
          这里有的两个的text型的input,他们的name和刚才那个LoginAction类中的两个变量名是对应的,form表单的action就是在struts.xml中配置的那个loginAction,这样就表示,当用户提交这个表单时,就会执行loginAction对应的那个类里的函数,而变量值的获取就是表单中空间的name和变量名相对应,所以在LoginAction类里面的那几个变量都得给他写上get和set方法

            8、然后再写一个index.jsp 和 error.jsp即可

注意:在web.xml中的welcome-file 修改为Login.jsp  这样网站默认的首页就是这个登录页面了

文章部分来源于:http://blog.csdn.net/cwb_where/article/details/7934509


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值