在Eclipse中搭建Struts框架过程详解

Java 发表评论

虽然用MyEclipse搭建Struts框架是更为便捷的方式,但是用Eclipse可以增强自己对Struts的理解。本文演示了使用Eclipse搭建Struts 1.2框架的过程。此项目实现了简单的功能:用户从hello.jsp登录,输入自己姓名,然后服务器返回一个Hello, XXX的jsp文件。

1、新建项目

在Eclipse中新建一个Dynamic Web Project,取名为TestStruts。

2、导入Struts所需的Jar包

Jar包下载地址:http://jc-dreaming.iteye.com/blog/914328,亲测有效。解压文件,将其中的Jar包拷贝到项目目录下WebContent/WEB-INF/lib文件夹中。在Eclipse中右键项目名称,选择Bulid Path-Configure Bulid Path,在Libraries标签中选择Add External Jars,选中之前拷贝到lib中的Jar包,点击Apply-OK

3、配置web.xml

最简配置代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
  	<servlet-name>action</servlet-name>
  	<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  	<init-param>
  		<param-name>config</param-name>
  		<param-value>/WEB-INF/struts-config.xml</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>action</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

这个Servlet是Struts的入口,任何以*.do结尾的请求都会被映射到Struts的Servlet上,该Servlet会根据struts-config.xml的配置,将请求分配到指定的Action上。

4、创建Action和Form文件

在src文件夹下新建action和form包,在其中分别新建HelloAction.java和HelloForm.java

HelloAction.java代码如下:

package com.mc.struts.action;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import com.mc.struts.form.HelloForm;

public class HelloAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		HelloForm helloForm = (HelloForm)form;
		if(helloForm.getName() == null || helloForm.getName().trim().length() == 0) {
			return mapping.getInputForward();
		}
		return mapping.findForward("success");
	}
}

HelloForm.java代码如下:

package com.mc.struts.form;
import org.apache.struts.action.*;

public class HelloForm extends ActionForm {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

5、将Action和Form文件配置到struts-config.xml

struts.xml配置代码如下:(这里面只配置了form和action,其他的暂且空着,实际项目需配置其他项)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>

  <form-beans>
    <form-bean name="helloForm" type="com.mc.struts.form.HelloForm" />
  </form-beans>

  <action-mappings>
  	<action attribute="helloForm"
  			input="/WEB-INF/form/hello.jsp"
  			name="helloForm"
  			path="/hello"
  			scope="request"
  			type="com.mc.struts.action.HelloAction">
  	  <forward name="success" path="/WEB-INF/form/success.jsp" />
  	</action>
  </action-mappings>

</struts-config>

6、添加JSP页面

在WEB-INF下新建form包,添加hello.jsp和success.jsp

hello.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<html>
	<head>
		<title>Hello JSP</title>
	</head>
	<body>
		<html:form action="/hello">
		<h2>Please input your name here: <html:text property="name" /><br />
		<html:submit /></h2>
		</html:form>
	</body>
</html>

success.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<html>
	<head>
		<title>Success JSP</title>
	</head>
	<body>
		<h2>Hello, ${ helloForm.name }. Welcome to Struts World!</h2>
	</body>
</html>

7、运行

到现在为止一个简单的Struts项目就搭建好了,启动Tomcat服务器。

在浏览器栏输入http://localhost:8080/TestStruts/hello.do,展示hello.jsp页面。

在输入栏输入名字,点击Submit,展示success.jsp页面。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *