当前位置: 代码迷 >> Eclipse >> eclipse 配备struts2
  详细解决方案

eclipse 配备struts2

热度:54   发布时间:2016-04-23 02:19:57.0
eclipse 配置struts2

1、创建工程项目:
??????? File->new->others
,打开新建向导对话框,在树中找到web->Dynamic Web Project,选中,点击next按钮。在projects name中输入dodotest,点击next。保持默认设置,点击finished。这时,我们在eclipse中会看到新建的工程dodotest,创建完成。


2
、修改web.xml文件:

??????
内容如下

Xml代码

  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <web-app?id="WebApp_ID"?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">??
  3. ????<display-name>??
  4. ????dodotest</display-name>??
  5. ??? ??
  6. ????<filter>??
  7. ????????<filter-name>struts2</filter-name>??
  8. ????????<filter-class>??
  9. ????????????org.apache.struts2.dispatcher.FilterDispatcher ??
  10. ????????</filter-class>??
  11. ????</filter>??
  12. ??
  13. ????<filter-mapping>??
  14. ????????<filter-name>struts2</filter-name>??
  15. ????????<url-pattern>/*</url-pattern>??
  16. ????</filter-mapping>??
  17. ??? ??
  18. ????<welcome-file-list>??
  19. ????????<welcome-file>index.jsp</welcome-file>??
  20. ????</welcome-file-list>??
  21. </web-app>??

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" 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">

??? <display-name>

??? dodotest</display-name>

??

??? <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>index.jsp</welcome-file>

??? </welcome-file-list>

</web-app>



3
、编写类代码:
3.1 HelloWorld.java
先写一个父类

Java代码

  1. package?com.yeepal.test; ??
  2. ??
  3. public?class?HelloWorld?{ ??
  4. ????private?String?words; ??
  5. ??
  6. ????public?String?getWords()?{ ??
  7. ????????return?words; ??
  8. ????} ??
  9. ??
  10. ????public?void?setWords(String?words)?{ ??
  11. ????????this.words?=?words; ??
  12. ????} ??
  13. }??

package com.yeepal.test;

?

public class HelloWorld {

??? private String words;

?

??? public String getWords() {

??????? return words;

??? }

?

??? public void setWords(String words) {

??????? this.words = words;

??? }

}



3.2 HelloAction.java
再写一个子类

Java代码

  1. package?com.yeepal.test; ??
  2. ??
  3. import?com.opensymphony.xwork2.ActionSupport; ??
  4. import?com.yeepal.test.HelloWorld; ??
  5. ??
  6. public?class?HelloAction?extends?ActionSupport?{ ??
  7. ????private?static?final?long?serialVersionUID?=?1L; ??
  8. ??
  9. ????private?HelloWorld?helloWorld; ??
  10. ??
  11. ????public?HelloWorld?getHelloWorld()?{ ??
  12. ????????return?helloWorld; ??
  13. ????} ??
  14. ??
  15. ????public?void?setHelloWorld(HelloWorld?helloWorld)?{ ??
  16. ????????this.helloWorld?=?helloWorld; ??
  17. ????} ??
  18. ??
  19. ????@Override??
  20. ????public?String?execute()?{ ??
  21. ????????return?SUCCESS; ??
  22. ????} ??
  23. }??

package com.yeepal.test;

?

import com.opensymphony.xwork2.ActionSupport;

import com.yeepal.test.HelloWorld;

?

public class HelloAction extends ActionSupport {

??? private static final long serialVersionUID = 1L;

?

??? private HelloWorld helloWorld;

?

??? public HelloWorld getHelloWorld() {

??????? return helloWorld;

??? }

?

??? public void setHelloWorld(HelloWorld helloWorld) {

??????? this.helloWorld = helloWorld;

??? }

?

??? @Override

??? public String execute() {

??????? return SUCCESS;

??? }

}



注:这里分成两个类来写,是为了顺便实践一下类的继承,而不是必须的,只写一个类也是可以的。

4
、加载相应的包:

???????
写完上面的类,会发现有些错误,主要是因为我们这里使用了STRUTS及一些相应的lib文件,而这些文件我们还没添加到项目里,所以下一步我们就来添加这些lib,本次要使用到的lib文件包括4个,分别是:struts2-core-2.0.9.jarfreemarker-2.3.8.jar ognl-2.6.11.jarxwork-2.0.4.jar,千万不要一下子就把所有的struts里面的lib文件全部拿过来用,反而会出错。

???????
把这写文件放到 dodotest\WebContent\WEB-INF\lib 目录下,在eclipse中右击项目名称,选择properties,在新的属性对话框里,选择java Build Path,然后再右侧的对话框里选择Libraries标签,然后是右边的“Add External JARs…,找到刚才那4lib文件,全选,再点打开,这样,这4lib文件就被添加到了项目中,这时候你会发现刚才的那些错误消失了。


5
、现在我们来写struts.xml文件:

src目录下新建XML文件,命名为struts.xml,内容如下:

Xml代码

  1. <!DOCTYPE?struts?PUBLIC?"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN" ??
  2. ????????"http://struts.apache.org/dtds/struts-2.0.dtd">??
  3. <struts>??
  4. ????<include?file="struts-default.xml"?/>??
  5. ??
  6. ????<package?name="default"?extends="struts-default">??
  7. ????????<action?name="hello"??
  8. ????????????class="com.yeepal.test.HelloAction">??
  9. ????????????<result?name="success">success.jsp</result>??
  10. ????????????<result?name="input">index.jsp</result>??
  11. ????????</action>??
  12. ??
  13. ????</package>??
  14. </struts>??

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

??????? "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

??? <include file="struts-default.xml" />

?

??? <package name="default" extends="struts-default">

??????? <action name="hello"

??????????? class="com.yeepal.test.HelloAction">

??????????? <result name="success">success.jsp</result>

??????????? <result name="input">index.jsp</result>

??????? </action>

?

??? </package>

</struts>



6
、编写JSP文件:
下面我们来写两个JSP文件,新建JSP文件,默认情况下新建的文件路径是WebContent下,不需要修改。

Html代码

  1. <%@?page?language="java"?import="java.util.*"?pageEncoding="utf-8"%>??
  2. ??
  3. <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">??
  4. <html>??
  5. <head>??
  6. <title>你好,世界</title>??
  7. <meta?http-equiv="pragma"?content="no-cache">??
  8. <meta?http-equiv="cache-control"?content="no-cache">??
  9. <meta?http-equiv="expires"?content="0">??
  10. <meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">??
  11. <meta?http-equiv="description"?content="This?is?my?page">??
  12. </head>??
  13. <body>??
  14. <form?action="hello.action"?method="post">??
  15. <fieldset><legend>Struts2入门实例</legend>??
  16. <p><label>请输入你想说的话:</label>??
  17. <input?type="text"?name="helloWorld.words"?value="试试看!"?/></p>??
  18. <p><input?type="submit"?value="提交"?/></p>??
  19. </fieldset>??
  20. </form>??
  21. </body>??
  22. </html>??

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>你好,世界</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

dis

  相关解决方案