首页 > 编程语言 >Struts2基础1--创建一个Struts2 Web应用程序

Struts2基础1--创建一个Struts2 Web应用程序

时间:2024-08-11 16:28:50浏览次数:15  
标签:Web Tomcat 对话框 -- 应用程序 filter Struts2

  Struts2不仅仅是Struts1 的升级版本,更是一个全新的Struts架构,是当前较为普及和成熟的基于MVC设计模式的Web应用程序框架,并在RIA(Rich Internet Applications)Web应用程序开发中得到了广泛应用,成为最好的Web框架之一。本文将通过详细的步骤来说明如何下载获取相关资源、安装设置开发环境、创建Java Web应用程序以及如何配置引入Struts2框架技术。

1.开发环境安装配置

  在网上搜索下载Eclipse、JDK、Tomcat、Struts等软件,也可以通过百度网盘在以下地址下载所需要的全部资源:https://pan.baidu.com/s/1A0S0yC3dI37P5E-ImuHUEg?pwd=ddu6(提取码:ddu6) 。本文中用到的Eclipse版本信息为:Eclipse Java EE IDE for Web Developers.Version: Photon Release (4.8.0).Build id: 20180619-1200;JDK:jdk1.8.0_25;Tomcat:apache-tomcat-9.0.41;Struts:struts-2.5.33-min-lib。

  (1)安装JDK:从百度网盘下载的JDK只需要按照提示步骤安装即可,不需要配置环境变量;

  (2)安装Tomcat:从百度网盘下载的Tomcat Web服务器也仅需要按照提示步骤安装即可;

  (3)安装Eclipse:把从百度网盘下载的Eclipse软件包解压缩到目标磁盘,在解压缩后的文件夹中找到汉化包,并按照说明文件的提示步骤复制汉化包到指定位置,就能汉化Eclipse IDE,然后执行Eclipse启动程序就能进入开发界面。

2 为Eclipse IDE添加Tomcat Web服务器

  (1)在IDE菜单中依次选择《Windows窗口》--《首选项》--在左侧导航栏选择《Server》项--《Runtime Environments》,然后在右侧《Add》按钮,如图1。

图1 添加Tomcat Web服务器 

  (2)在《New Server Runtime Environment》对话框中,如图2,选择《Apache》列表中的《Apache Tomcat v9.0》选项,然后点击《下一步》按钮。

图2 《New Server Runtime Environment》对话框

  (3)在确定Tomcat安装位置对话框中,通过《Browse》按钮选择自己安装Tomcat服务器的位置,如图3,然后点击《完成》按钮。

图3 确定Tomcat安装位置对话框

  (4)最后在《首选项》对话框中点击《应用并关闭》按钮,如图4。

图4 《首选项》对话框

3.创建一个Java Web应用程序

  (1)打开创建Web应用程序向导:运行Eclipse IDE,依次选择菜单项《文件》-->《新建》-->《Dynamic Web Project》,如图5,或者《文件》-->《新建》-->《其他》,在打开的对话框中找到《Web》选项并打开,如图6,然后选择《Dynamic Web Project》选项,再点击《下一步》按钮打开创建Web应用程序向导。

 

 

图5 打开创建Web应用程序向导 

 图6 打开创建Web应用程序向导

  (2)创建名为myStruts的Web应用程序:在《New Dynamic Web Project》对话框中找到《Project Name》标签并在后面的文本框中输入Web应用程序的名字,这里是myStruts。找到《Target runtime》标签,在他下面打开下拉选择框选择《Apache Tomcate v9.0》,如图7。设置完成后点击《下一步》按钮。

图7 Web应用程序基本信息设置对话框 

  (3)在Web应用程序配置对话框中(如图4)直接点击《下一步》按钮。

图8 Web应用程序配置对话框

  (4)Web应用程序模型设置对话框(如图9)中勾选《Generate web.xml deployment descriptor》选项,然后点击《完成》按钮完成一个Java Web应用程序的创建工作。

 

图9 Web应用程序模型设置对话框

  (5)创建index.jsp文件,文件代码:

<!DOCTYPE html>

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

<html>

  <head>

    <meta charset="UTF-8">

    <title>Basic Struts 2 Application</title>

  </head>

  <body>

    <h1>Welcome To Struts 2!</h1>

  </body>

</html>

  运行Web应用结果为:

图10 Web应用运行结果

4. 添加 Struts 2 的jar文件到项目中

  (1)复制Struts文件到项目中:将下载struts-2.5.33-min-lib.zip文件解压缩,然后复制所有文件到Web项目的WebContent/WEB-INF/lib文件夹下,如图11。

图11 导入Struts文件后程序结构图

  (2)添加Struts文件到引用库:在项目导航来选择省Struts所有文件,然后右键点击,在弹出的快捷菜单中依次选择《构建路径》-->《添加至构建路径》,如图12。Eclipse添加到引用库的作用是让项目能够访问和使用外部的类库或JAR包,‌从而扩展项目的功能。‌在软件开发过程中,‌经常需要使用到第三方库或者自己编写的类库,‌这些库通常以JAR包的形式存在。‌通过将这些JAR包添加到Eclipse的引用库中,‌项目就可以直接引用这些库中的类和方法,‌而无需重新编写或实现相应的功能。‌这样做的好处是提高了开发效率,‌减少了重复劳动,‌同时也便于管理和维护项目依赖的类库。‌

图12 添加Struts文件到引用库

5. 在web.xml文件中添加配置struts2 的过滤器

  在项目中打开web.xml文件建下面加粗倾斜的内容添加进来。Struts过滤器的配置内容不同版本不尽相同,可以在官网下载例子程序参考修改。在struts-2.5.33版本中将prepare和execute过滤器分别进行配置。将URL模式配置成<url-pattern>/*</url-pattern>意味着struts2的过滤器将会被应用到这个web 应用的所有URL上。

<?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_4_0.xsd" id="WebApp_ID" version="4.0">

  <display-name>myStruts</display-name>

  <filter>

  <filter-name>struts-prepare</filter-name>

  <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>

</filter>

<filter>

  <filter-name>struts-execute</filter-name>

  <filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>

</filter>

<filter-mapping>

  <filter-name>struts-prepare</filter-name>

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

</filter-mapping>

<filter-mapping>

  <filter-name>struts-execute</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>

6. 创建和配置struts.xml文件

  struts.xml文件是Struts 2框架的核心配置文件,‌具有重要的作用。‌它主要负责管理应用中的Action映射以及该Action包含的Result定义。‌struts.xml文件存放于Web应用的类加载路径下,‌具体位置为WEB-INF/classes路径下。‌该文件主要用来配置Action和HTTP请求的对应关系,‌以及配置逻辑视图和物理视图资源的对应关系。‌除了这些基本功能,‌struts.xml还有一些额外的功能,‌如配置常量、‌导入其他配置文件等。该文件的配置也可以参考Struts提供的例子程序中‌struts.xml文件。在项目的src文件夹下创建struts.xml文件,如图13,最简单的配置文件内容如下:

<?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> <constant name="struts.devMode" value="true" /> <package name="myStruts" extends="struts-default">   <action name="index">     <result>/index.jsp</result>   </action> </package> </struts>‌

图13 创建完成struts.xml文件后项目的结构图 

7. 测试Strusts2配置效果

  在上面的struts.xml文件中将名称为“index”的action项目的响应结果“result”配置为/index.jsp,这个简单的配置告诉struts2框架,如果访问的URL是http://localhost:8080/myStruts/index.action或是http://localhost:8080/myStruts/index则转发到index.jsp视图响应。

  (1)设置Eclipse IDE测试用浏览器:在IDE菜单中依次选择《窗口》-->《Web Browser》-->《Chrome》即可完成设置,如图14。

图14 设置Eclipse IDE测试用浏览器

  (2)启动Tomcat服务器:首先打开Server试图,在IDE菜单栏中依次选择《窗口》-->《显示视图》-->《Servers》,然后在窗口的右下部分找到绿色箭头按钮,点击即可启动Tomcat服务器,如图15。

图15 启动Tomcat服务器

  (3)在Google Chrome浏览器中测试:当我们在浏览器中输入网址http://localhost:8080/myStruts/index访问测试时,其相应结果如图16:

图16 Struts 2测试运行结果

 8.常见问题1

  在新创建的jsp文件开始位置出现如下警告信息:“The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path”,出现该警告信息是因为在创建Java Web应用程序的时候没有选择设置运行时的环境为Tomcat,或者是还没有把安装和设置好的Tomcat Web服务器添加到Eclipse IDE中,解决该问题需要完成以下设置;

  (1)用鼠标右键点击新建的Web应用程序,在弹出的快捷菜单中依次选择《构建路径》-->《配置构建路径》,如下图17。

 

图17 配置构建路径 

  (2)在Web应用程序属性对话框中《构建路径》,然后在右侧项目中点击《添加库》按钮,如图18。

图18 添加库 

  (3)在添加库对话框中,选择《Server Runtime》选项,然后点击《下一步》按钮,如图19。

图19 选择Sever Runtime

  (4)继续选择《Apache Tomcat v9.0》选项,然后点击《完成》按钮,如图20,接着在返回Web应用属性对话框中点击《应用并关闭》按钮即可完成设置。

 

图20 选择《Apache Tomcat v9.0》选项

标签:Web,Tomcat,对话框,--,应用程序,filter,Struts2
From: https://www.cnblogs.com/Freeland98/p/18353482

相关文章

  • SciTech-Mathematics-Probability+Statistics-[THREE types of Probability]{Subjecti
    THREEtypesofProbability:TheoreticalProbabilityEmpiricalProbabilitySubjectiveProbabilityBayes,EmpiricalBayesandModeratedMethodsEmpiricalandtheoreticalpriordistribution|TheBookof…https://www.khanacademy.org/math/cc-seventh-......
  • E - Gluttony
    原题链接题解1.题目要求我们最小化吃完食物时间的最大值,这给了我们一种二分的感觉。2.假如给定最大值为\(K\),那么所有\(y\)对应的\(x\)都满足\(x\leq\lfloor\frac{K}{y}\rfloor\)所以,我们要安排\(x\),使得每个\(x\)达到\(x\leq\lfloor\frac{K}{y}\rfloor\)所......
  • CSP17
    请注意:题目背景与题目可能没有关系第一题,性质题,找到序列的最大值与最小值,我们发现如果只有正数的话和只有负数的话都很好处理,正数正序处理类似前缀加,负数后缀加,那如果正负都有,该怎么办呢?其实我们可以吧序列全变为正的或负的吧,但是需要比较一下最大值最小值,如果都变成正的话,对......
  • 软件开发:提升代码评审的标准与效率
    引言在软件开发过程中,代码评审是一个至关重要的环节,它不仅有助于保证代码质量,同时也促进团队成员间的知识分享与技能提升。然而,许多项目在执行代码评审时遇到了问题:缺少统一的标准与规范、忽视面向对象的特性和设计原则、缺少对设计模式的应用以及对单元测试的忽略,导致代码......
  • 【C++学习笔记 16】构造函数初始化列表
    当编写类并向其中添加成员时,通常需要某种方式对这些成员进行初始化。常见的方法,如写一个构造函数赋初值classEntity{private: std::stringm_Name;public: Entity(){ m_Name="UnKnow"; } Entity(conststd::string&name){ m_Name=name; } constst......
  • 【WSN覆盖优化】基于鱼鹰优化算法OOA求解无线传感器节点2D覆盖优化问题附Matlab代码
    鱼鹰优化算法(OspreyOptimizationAlgorithm,OOA)是一种基于鱼鹰捕鱼行为的启发式优化算法,可用于解决优化问题。在无线传感器网络(WSN)中,覆盖优化是一个关键问题,涉及到最大化网络覆盖范围并减少节点数量。以下是一个简单的示例框架,展示如何基于OOA算法求解无线传感器节点的二......
  • 招标交易云平台功能设计
            随着数字化转型的发展,招投标交易领域为了提升交易效率、增强透明度并降低运营成本,招投标交易云平台应运而生。该平台通过集成先进的互联网技术、大数据分析和云计算能力,实现了招投标流程的数字化、自动化和智能化。        本文将基于招投标交易云平......
  • 【git】如何切换原仓库地址
    文章目录一、打开项目目录二、更换原仓库git1.使用rm-rf.git删除.git文件,或直接删除文件里的.git文件2.初始化仓库重新生成.git3.使用gitremoteaddorigin仓库地址关联到新的远程库地址4、使用gitremote-v查看仓库的关联信息5.使用gitadd.添加文件......
  • 【git】gitee 提交错误,如何回退
    文章目录查看提交记录设定退回到位置提交查看提交记录gitloggitlog如下图所示共2次提交记录最近一次是错误提交(笔者提交是在错误的工作路径上传了)设定退回到位置gitreset--hardhash值gitreset--soft83fcc380d5250599eca************5提交gitpu......
  • 从事操作系统开发需要具备的知识体系
    操作系统作为计算机硬件与上层应用软件之间的桥梁,其设计与开发是一项复杂而艰巨的任务,要求开发者具备广泛而深入的技术知识。以下是从事操作系统开发所需掌握的八个关键方面:1.计算机体系结构硬件基础:理解CPU的指令集架构(如x86、ARM)、寄存器、内存结构(如RAM、ROM、缓存)、I......