Struts2环境搭建以及helloworld编写

Struts是一个经典的Java Web开发框架。现在我们编写一个简易的helloworld界面。

 

Struts的环境搭建比较简单,加载相应的jar包即可。

我这里的开发环境是windows7 + Myeclipse10.0

Struts2采用的是2.2.1.1版本

 

1.加载Struts2的必备jar包,我这里是6个,还有另外的两个jar文件。

这六个分别是:

1.commons_fileupload-1.2.1.jar

2.commons-io_1.3.2.jar

3.commons-logging-1.0.4.jar

4.ognl-3.0.jar

5.struts2-core-2.2.1.1.jar

6.xwork-core-2.2.1.1.jar

此外,还需要freemarker-2.3.16.jar以及javassist-3.7.ga.jar文件

2.编辑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>
    </filter-mapping>
</web-app>

这个xml文档不需要验证,即使上面的网址失效也无妨。

 

3.在src目录下创建struts.xml文件,内容为:

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

<struts>
    <package name="struts2" extends="struts-default">
    
        <action name="helloworld" class="com.test.action.HelloWorldAction">
            <result name="success">/helloworld.jsp</result>
        </action>
    
    </package>
    
</struts>

这个xml文档是最关键的配置部分。而且需要DTD验证,所以必须保证上面的dtd文件是可用的。

 

4.创建一个package为com.test.action,创建class为HelloWorldAction。

该class的定义为:

package com.test.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport
{
    private static final long serialVersionUID = 1L;

    @Override
    public String execute() throws Exception
    {
        return SUCCESS;
    }
}

这里比较简单,我们也可以不继承ActionSupport类,只要这个类具备execute函数即可。

5.创建一个jsp文件,为helloworld.jsp

内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>我的第一个Struts界面</title>
  </head>
  
  <body>
    <h1>Hello World</h1>
  </body>
</html>

 

现在我们把程序部署到tomcat上,然后启动server,在浏览器中访问:

http://localhost:8080/struts2/helloworld 注意我的项目名称是struts2

就可以看到加粗后的helloworld。

 

下面分析访问helloworld页面的流程。

1.首先web.xml中,我们为所有的url都配置了一个分配器,所以当我们输入上面的网址时,server接收到的是/helloworld。

2.到了关键的地方,我们看

<action name="helloworld" class="com.test.action.HelloWorldAction">
            <result name="success">/helloworld.jsp</result>
        </action>

他的意思是,对于helloworld,我们去执行HelloWorldAction这个类的execute方法。

如果返回结果为success,那么执行helloworld.jsp页面

于是我们在浏览器中就看到了helloworld页面。

转载于:https://my.oschina.net/inevermore/blog/388679

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值