Strust2环境搭建及HelloWorld

抽时间整理了下Struts2的笔记,顺便再复习一下。

 

一  环境搭建:

在web应用中使用Struts2功能,需要以下三个步骤:

1 修改web.xml文件,在web.xml文件中配置Struts2的核心Filter。

2 将Struts2框架的类库复制到web应用中的WEB-INF/lib路径下。

3 在WEB-INF/classes下增加Struts2的核新配置文件struts.xml。

步骤实现如下:

<1> 关于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">

   

    <!-- Strus2核心filter配置start  -->

    <filter> 

        <filter-name>struts2</filter-name>  

        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

        <!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterinit方法会在web-inf/classes下寻找struts.xml配置文件 -->

    </filter> 

   

    <!-- 配置url路径 --> 

    <filter-mapping>

        <filter-name>struts2</filter-name> 

        <url-pattern>/*</url-pattern> 

    </filter-mapping>

    <!--end  -->

   

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

<2> Struts2 基本jar包如下:

   commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后需要加入此文件

    commons-io-1.3.2.jar,上传文件依赖的jar

    commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4JJDK 1.4+的日志记录。

    freemarker-2.3.15.jar :Struts 2UI标签的模板使用FreeMarker编写

    ognl-2.7.3.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性

    struts2-core-2.1.8.1.jar :Struts 2框架的核心类库

    xwork-core-2.1.6.jar :XWork类库,Struts 2在其上构建

 

其他的jar包可以暂时不加,以免缺少第三方jar包而报错。

 

<3> 关于Struts.xml文件:

<?xml version="1.0"encoding="UTF-8" ?> 

<!DOCTYPE struts PUBLIC 

    "-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN" 

"http://struts.apache.org/dtds/struts-2.0.dtd"> 

 

<struts> 

     

</struts> 

 

 

启动不报错,说明Struts2应用搭建成功! Ps: 如果启动的时候报错,多数情况是jar问题,jar加少了或是jar版本不匹配!


 

二  HellowWorld

 

1 Action代码:

 

    private String name;

    private String pass;

   

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    public String getPass() {

       return pass;

    }

    public void setPass(String pass) {

       this.pass = pass;

    }

   

    public String execute(){

      

       if(getName().equals("hgd") && getPass().equals("123456")){

           return "success";

       }

       else

           return "error";

    }

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">

   

    <!-- Strus2核心filter配置start  -->

    <filter> 

        <filter-name>struts2</filter-name>  

        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

        <!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterinit方法会在web-inf/classes下寻找struts.xml配置文件 -->

    </filter> 

   

    <!-- 配置url路径 --> 

    <filter-mapping>

        <filter-name>struts2</filter-name> 

        <url-pattern>/*</url-pattern> 

    </filter-mapping>

    <!--end  -->

   

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

3 struts.xml文件配置:

<?xml version="1.0"encoding="UTF-8" ?> 

<!DOCTYPE struts PUBLIC 

    "-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN" 

    "http://struts.apache.org/dtds/struts-2.0.dtd"> 

   

  <!--struts Struts2配置的根元素 -->

<struts> 

    <!-- Struts2 Action必须放在package包文件下面  -->

    <package name="hgd" extends="struts-default">

       <action name="login"class="com.hgd.struts2.HelloWorld">

           <result name="error">/error.jsp</result>

           <result name="success">/welcome.jsp</result>

       </action>

    </package>

    <!-- 如以上配置,访问路径为:

(工程名+包名+action)

http://localhost:8080/Strust2_1/hgd/login?name=hgd&pass=123456-->

</struts>    

5 welcom.jsp:

<%@ page language="java"import="java.util.*" pageEncoding="ISO-8859-1"%>

<%

String path =request.getContextPath();

String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

   

    <title>Struts--HelloWorld</title>

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">   

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <!--

    <link rel="stylesheet"type="text/css" href="styles.css">

    -->

  </head>

 

  <body>

    welcome!

  </body>

</html>

 

4 访问:http://localhost:8080/Strust2_1/hgd/login?name=hgd&pass=123456

页面:


Struts2 应用环境搭建完毕!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值