您的位置:首页 > 编程语言 > Java开发

struts2入门 eclipse 配置 编写 struct2 登录程序

2012-09-02 14:37 441 查看
      搬家至新博客:点击打开链接

      其实上学期就学过javaee了,不过说来惭愧,一直都没怎么听课,所以现在重新去学习下,并且通过写博客来加深自己对知识的掌握。

      本文适合初学者……使用的jdk版本为jdk6,eclipse版本为javaee版(用myeclipse的读者也差不多)

      准备工作:

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

      2、下载struts2需要的几个jar包:

            1)xwork-core-2.1.6

            2)struts2-core-2.1.8

            3)ognl-2.7.3

            4)freemarker-2.3.15

            5)commons-io-1.3.2

            6)commons-fileupload-1.2.1

            下载地址: http://download.csdn.net/detail/cwb_where/4542914  (我自己上传的,方便交流,不需要资源分)

       3、建一个Dynamic Web Project,将上述6个包复制到WebContent/WEB-INF/lib目录下

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

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
          将这段代码加入到你的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">
<display-name>struts2test</display-name>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
         5、创建一个java类,命名为LoginAction.java     

package action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private String username;
private String password;
public String execute() {
if(username.equals("asd")&&password.equals("asd"))
return SUCCESS;
return ERROR;
}
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;
}

}
        SUCCESS和ERROR是字符串,分别是"success"和"error",可直接用    

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<package name="default" extends="struts-default">
<action name="loginAction" class="action.LoginAction">
<result name="success"> index.jsp</result>
<result name="error"> error.jsp</result>
</action>
</package>
</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:  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
<form action="loginAction">
用户名:<input type="text" name="username"/><br/>
密码:<input type="text" name="password"/><br/>
<input type="submit" value="登录" name="登录"/>
</form>
</body>
</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  这样网站默认的首页就是这个登录页面了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息