struts2框架的简单demo

1>首先在tomcat主目录下的conf文件夹-建立catalina文件夹-建立localhost文件夹-添加一个xml文件,如下图:

内容如下:
<Context docBase="D:/workspace/jiesuanoa/WebRoot" reloadable="false" />这种方式服务器会使用.xml的名字作为path属性的值。

(静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。)

注意:我们通过url访问项目时,在端口后加的就不是项目名称了,而是这个xml文件的名称,例:http://localhost:8080/jiesuanoa/login/jiesuan.do

2>导入的jar包。

3>src下的包及类。

4>WebRoot下的内容。

5>类BaseAction里是没有内容的  只是一个格式  为了以后Action中通用的方法都提取到此类中,然后其他Action类都继承与它 。

6>LoginAct类代码。

package com.jiesuanoa.front.web;


import com.jiesuanoa.front.BaseAction;
public class LoginAct extends BaseAction {

public String loginInput() {

return "loginInput";
}
}

 

7>本来我们是可以直接在struts.xml中配置action的跳转的,但现在却写了三个文件。

因为package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。

因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用<include>标签引用这些配置文件。

例:struts-login.xml是专门为login这个action配置的,以防项目很庞大时候配置信息都集中到struts.xml中会非常混乱。

注意:用<include>引用的xml文件也必须是完成的struts2的配置。实际上<include>在引用时是单独解析的xml文件,而不是将被引用的文件插入到struts.xml文件中。

struts.xml代码。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!--基本配置-->
<include file="struts-default.xml" />
<!--入口登录相关-->
<include file="com/jiesuanoa/front/web/struts-login.xml" />
</struts>

struts-default.xml代码。

有很多时候一个<result>可供很多<action>使用,这时可以使用<global-results>标签来定义全局的<result>,代码见下图,

执行顺序:当一个Action返回的String没有相应的<result>与之对应,Struts2就会查找全局的<result>。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!--使struts2能够处理以.do和.action为后缀的url。-->
<constant name="struts.action.extension" value="do,action"/>
<package name="core-default" extends="struts-default">
<!-- 由于我们访问的是html文件要用到freemark 要进行下面配置 default="true" 就是所有页面都是freemark形式 默认为false是JSP形式-->
<result-types>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult" default="true"/>
</result-types>

<!--全局跳转地址-->
<global-results>
<result name="loginInput">/WEB-INF/login/login.html</result>
</global-results>
</package>
</struts>

struts-login.xml代码。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!--登录-->
<package name="jiesuan.login" namespace="/login" extends="core-default">
<action name="jiesuan" method="loginInput" class="com.jiesuanoa.front.web.LoginAct"/>
</package>
</struts>

 

8>最后贴出web.xml的配置。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
</web-app>

 

9>login.html只要注意格式就可以了  内容随便填写 只是为了验证项目的正确与否。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>

<body>
hello world!! <br>
</body>
</html>

 

 

 

转载于:https://www.cnblogs.com/hubingxu/archive/2011/12/12/2285356.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值