首页技术文章正文

Structs2入门

更新时间:2018-07-27 来源:黑马程序员 浏览量:

一、struts2 概述

Struts2 是一种基于 MVC (表现层、业务层、持久层)模式的轻量级 Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中

二、struts2 的入门案例

第一步:拷贝 struts2 必备 jar 包到 web 工程的 lib 目录
1532653703908_1.jpg

第二步:在类的根路径下创建一个名称为 struts.xml 的文件,并导入约束和配置(详细如下)

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

<!-- 导入约束:

        约束的位置:在 struts2 的核心 jar 包中

        struts2-core-2.3.24.jar 中包含一个名称为:

        struts-2.3.dtd 的约束文件

-->

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"struts-2.3.dtd" >

<struts>

   <!-- 请求路径和执行方法的关系

           package标签:主要的作用是用于分模块

             name:唯一标识符,同一个项目,package的名字不可以相同

             extends:继承,基于继承其他包的功能。struts-default是框架内置的package。

                  如果不继承会导致,内置的功能组件不能使用

   -->

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

      <!--

      action标签:请求路径和执行方法的关系

      name:用于指定请求路径(url)

      class:指定业务控制器的类名

      method:指定执行的方法

       -->

      <action name="hello_say" class="com.itheima.action.HelloWorldAction" method="say">

        <!-- 视图映射字符串和视图路径的关系 -->

        <!--

        result:用于配置返回

          name:指定视图对应的映射字符串

                                标签内容:视图路径

         -->

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

      </action>  

   </package>

</struts>


第三步:在 web.xml 配置 struts2 的核心控制器(一个过滤器)

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

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>crm-annotation</display-name>

  <!-- 配置 struts2 的核心控制器:一个过滤器 -->

  <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.html</welcome-file>

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

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

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

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

  </welcome-file-list>

</web-app>


第四步:编写index.jsp页面(href是指定请求路径,和struts.xml的action name一致)

<%@ 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>Insert title here</title>

</head>

<body>

        <a href="${pageContext.request.contextPath }/hello_say">say</a>

</body>

</html>


第五步:编写HelloWorldAction.java文件(类路径和名、方法名、返回值和Structs.xml配置的一致)

package com.itheima.action;

public class HelloWorldAction {

        public String say() {

                System.out.println(this);

                System.out.println("HelloAction 中的 sayHello 方法执行了。。。。");

                return "hello";

        }

}


第六步:编写hello.jsp页面

<%@ 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>Insert title here</title>

</head>

<body>

  你好世界!!

</body>

</html>


项目目录结构如下:

1532653713752_2.jpg
第七步:把项目部署到Tomcat,启动Tomcat,访问index.jsp,点击say,将返回访问hello.jsp页面
1532653723283_3.jpg
1532653783722_4.jpg

作者:黑马程序员javaEE培训学院
首发:http://java.itheima.com/

分享到:
在线咨询 我要报名
和我们在线交谈!