Java EE的Struts 2使用笔记

有开发Android的经验,懂一些Java Core知识。想扩展一下自己的知识,于是开始捣鼓一下Java Web里面的三大框架之一的Struts2。可是安装过程真的是烦人。因此记录下路,以供自己以后复习。

操作平台:Mac OS 10.12.5
开发工具:Eclipse Java EE IDE for Web Developers.
Version: Neon.3 Release (4.6.3)
JDK版本:java version “1.8.0_91”
Struts2版本:struts2-2.5.10.1

第一步:下载Struts 2的最新版
地址:http://struts.apache.org/download.cgi#struts25101
下载
Full Distribution:包括所有
Essential Dependencies Only:运行Struts2所需要最少的lib
Documentation:文档

第二步:在Eclipse中创建一个Dynamic Web Project
默认创建web.xml文件,记得打钩。
然后解压struts-2.5.10.1-min-lib.zip文件,然后把所有的lib复制到刚刚创建项目的WebContent/WEB-INF/lib目录之下。
lib如下:

commons-fileupload-1.3.2.jar
commons-io-2.4.jar
commons-lang3-3.4.jar
freemarker-2.3.23.jar
javassist-3.20.0-GA.jar
log4j-api-2.7.jar
ognl-3.1.12.jar
struts2-core-2.5.10.1.jar

拷贝到lib以后,选中所有的jar,然后右键–>Build Path–>Add Path

第三步:修改WebContent/WEB-INF/web.xml文件
如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

这里配置Struts2的核心过滤器。

第四步:创建一个简单jsp界面
代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!-- 定义一个struts-tags标签,便于写代码 -->
<%@taglib prefix="s" uri="/struts-tags"%>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="loginPage" /></title>
</head>
<body>
    <s:form action="login">

        <s:textfield name="username" key="user" />
        <s:textfield name="password" key="pass" />
        <s:submit key="login" />

    </s:form>

</body>
</html>

第五步:在上面的jsp界面里面,使用国际化资源,我们在Java Resource/src里面创建一个mess.properties文件。
里面内容:

loginPage=\u767B\u5F55\u9875\u9762
user=\u7528\u6237\u540D
pass=\u5BC6    \u7801
login=\u767B\u9646

这里的内容必须是经过转码以后的。

第六步:创建了这个国际化资源文件,如果使用呢?
在Java Resource/src里面创建一个struts.xml文件
代码如下:

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

<struts>

    <!-- 定义一个指定国际化资源文件的base名为mess,所以还需要提供一个*.properties文件 -->
    <constant name="struts.custom.i18n.resources" value="mess"></constant>

    <constant name="struts.i18n.reload" value="true" />
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.devMode" value="true" />
    <constant name="struts.configuration.xml.reload" value="true" />

    <package name="crazyit" namespace="/" extends="struts-default">
        <action name="*">
            <result> /WEB-INF/content/{1}.jsp </result>
        </action>
    </package>
</struts>

第七步:发布程序,进行测试
http://localhost:8080/StrutsTest/loginForm

注意:由于在struts.xml文件中配置了一个name=”*”的

猜你喜欢

转载自blog.csdn.net/qq_36006553/article/details/73555976