创建一个struts2的HelloWorld
Posted hy7873
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个struts2的HelloWorld相关的知识,希望对你有一定的参考价值。
1、下载struts2的jar包
http://struts.apache.org/download.cgi#struts255
下载一个稳定版本Struts 2.3.31
里面提供了maven jar
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.31</version>
</dependency>
2、创建一个动态web工程导入这些jar包
修改web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" 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>Struts Demo</display-name> <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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
可以参照struts2-blank中的配置
3、在src目录下创建struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <global-results> <result name="error">/WEB-INF/jsp/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error" /> </global-exception-mappings> <action name="index"> <result type="redirectAction"> <param name="actionName">HelloWorld</param> <param name="namespace">/example</param> </result> </action> <action name="products-input"> <result>/WEB-INF/pages/products.jsp</result> </action> <action name="products-detail" class="com.hy.Products"> <result name="success">/WEB-INF/pages/detail.jsp</result> </action> </package> <!-- Add packages here --> </struts>
参照truts2-blank中的配置
struts.enable.DynamicMethodInvocation指的是是否支持模糊匹配方法名
这里面有一个pojo
package com.hy; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class Products{ private String productID; private String productName; private String productDesc; public String getProductID() { return productID; } public void setProductID(String productID) { this.productID = productID; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductDesc() { return productDesc; } public void setProductDesc(String productDesc) { this.productDesc = productDesc; } public String detail() { return SUCCESS; } @Override public String execute() throws Exception { return SUCCESS; } }
两个跳转的页面
<%@ 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>商品录入</title> </head> <body> <form action="products-detail" method="post"> productID:<input type="text" name="productID" /><br> productName:<input type="text" name="productName" /><br> productDesc:<input type="text" name="productDesc" /><br> <input type="submit" value="submit"><br> </form> </body> </html>
<%@ 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>商品详细</title> </head> <body> productID:<input type="text" name="productID" value="${productID}"/><br> productName:<input type="text" name="productName" value="${productName}"/><br> productDesc:<input type="text" name="productDesc" value="${productName}"/><br> </body> </html>
大概就这样
注意:
导入struts2-blank到eclipse时报错,这是一个maven工程
首先要安装maven插件(高版本eclipse自带)
http://maven.apache.org/download.cgi
选择一个较新的版本下载
下载完成后解压到本地,配置m2_home
D:\\Program Files\\apache-maven-3.3.9
再配置bin目录到path变量中
测试 cmd mvn -version
现在import exist maven projects 导入后项目编译报错
选择直接忽略。具体原因未知
这时候maven update project 把改下的jar包下载到maven jar包仓库中
启动tomcat会发现struts2核心包classnotfound
需要把maven dependence加入到部署环境中
运行之后可能会出现jsp报错,这是因为maven中包含了较低版本的tomcat jar删除依赖后启动成功
代码链接:http://pan.baidu.com/s/1qXDXli0
以上是关于创建一个struts2的HelloWorld的主要内容,如果未能解决你的问题,请参考以下文章