MyEclipse+Tomcat+Struts配置问题

来源:互联网 发布:windows常用cmd命令 编辑:程序博客网 时间:2024/06/01 20:06

(1)首先安装JDK(jdk-6u18-ea-bin-b01-windows-i586-20_aug_2009.exe

安装的根目录下包含有版权声明,许可文件,README文件等。src.zip文件是构成JDK的核心API所有类的源代码的归档文件。bin目录中有JDK的可执行文件,在Windows的系统变量PATH中应当有一个指示此目录的项。

 所以需要在我的电脑->属性->系统属性->高级->环境变量,如果没有PATH则新建一个,如果有则加入;c:/jdk/bin(jdk安装目录中bin)。添加好之后就可以直接在命令窗口中输入和使用JDK的可执行文件了。如 java -version 是显示JDK版本的命令。

(2)安装tomcat(apache-tomcat-6.0.13.exe

使用的是安装版,同样也可以使用非安装版,只需要解压缩就可以。如是非安装版则启动项在bin文件夹中(startup.bat)。

使用TOMCAT还需要配置一个系统变量JAVA_HOME,其值为JDK的安装目录,如c:/jdk

安装好之后则可以通过http://localhost:8080访问了,或者http://127.0.0.1:8080

(3)安装MyEclipse(Myeclipse8.5

没有特别说明的,按指示默认安装即可。需要在其中配置tomcat,步骤为:windows->属性(最后一项)->MyEclipse->server->tomcat 选择tomcat6.x  enable 选择tomcat的安装目录如(c:/tomcat6.0)应用即可。

(4)配置struts2.0(struts2-2.2.1-all.zip

a.新建一个web项目

b.把struts2-2.2.1-all中lib文件夹下的commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.16.jar,javassist-3.7.ga.jar,ognl-3.0.jar,struts2-core-2.2.1.jar,xwork-core-2.2.1.jar几个包拷贝到项目中的WEB_INF/lib中

(注意:其他几个蓝色的jar包是一般情况下教程中告诉大家需要加入的jar包,但是不同的struts版本经常会出现问题,像这个版本中如果不加入javassist-3.7.ga.jar,就会出现error filterDispatcher,这个错误折腾了一下午才发现的。如果不知道自己版本的struts需要拷贝哪些jar包,大家可以参考struts文件中apps中的例子,加压缩后查看事例中lib包含了哪些jar包,直接拷贝这里的jar更方便,还防止丢包导致的错误

c.把事例中的struts.xml直接拷贝到src中,更改其中的内容

d.编写JSP页面

制作一个简单的登陆界面:login.jsp

  <body>
    login. <br>
    <form action="login.action" method="POST">
    name:<input type="text"  name="username"><br>
    passwor:<input type="text" name="password"><br>
    <input type="submit" value="submit">
    </form>
  </body>

登陆成功页面:loginOk.jsp

登陆失败页面:loginFail.jsp

添加包action在包中添加LoginAction.java这个类

 

package action;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
   /**
  *
  */
 private static final long serialVersionUID = 1L;

 


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;
}

//一个action类区别与普通类的关键就是execute()方法,action类中必须包含一个execute()方法,其返回值也必须是String
public String execute(){  
 if(username.equals("aa")&&password.equals("aa"))
  return "ok";//
或者return SUCCESS;
 else
  return "fail";
}
}

 

e.更改struts配置

<struts>

    <package name="example"  extends="struts-default">
        <action name="login" class="action.LoginAction">//
其中login为action的名字,每一个action都有一个对应类
            <result name="ok">/loginOk.jsp</result> //视图,如果返回的结果是"ok"则跳转到   loginOk.jsp  
            <result name="fail">/loginFail.jsp</result>//如果返回的是"fail"则跳转到loginFail.jsp
        </action>
    </package>

    <!-- Add packages here -->
</struts>

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>
 

注意:<result>的name表示action的execute()方法返回的响应字符串。如果没有指出name属性值,则默认为"success"。execute()方法有2种返回值:INPUT和SUCCESS。SUCCESS和INPUT都在

 com.opensymphony.xwork2.Action接口中行径了定义,类型为String,分别用来表示输入("input")和成功("success")。

原创粉丝点击