17年下半年的时候简单学了下strus2,好吧,现在已经全忘了,idea也是刚开始用,本来想按教程写个hello struts2,结果,出了以下系列问题。

pre:step1-5是我按照百度的教程搭的,但是后来却出现了问题,可能是因为idea版本的问题(我电脑32位,安装好几次最新版的idea2018,但是运行没反应,所以才换的2017版,我也不知其中原因)。

    step6以后是我找出错原因的步骤,因为是小白,具体机理不懂,仅供参考吧。

/---------------------------------------------------------------------------------------------------------------------/

step1:安装tomcat和idea就不多说,版本(apache-tomcat-9.0.0.M22)(IntelliJ IDEA 2017.3.5)

step2:idea的正常步骤新建project->java Enterprise,然后如下图:

注意:我们点开Configure时,可以看到对应的struts的版本,我这里是2.5,小窗口里面可以看到7个依赖jar包。

step3:next之后,选择工程名和保存目录,自己设置下就好了。建立之后的工程结构如图:

step4:点击File->Project Structure->Artifacts,在“右击”处右击,put into output root。

step5:编写jsp:在web目录下新建一个hellostruts2.jsp文件,其中<body>hello struts2</body>。

打开:struts.xml配置如下内容:

然后右上角绿色启动;

step6:妥妥的,报错:

我们点开旁边的Tomcat Localhost Log看下:

得,类找不到,这个org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter怎么会找不到呢?

看下我们工程下的lib下的结构目录,该目录放了我们环境需要依赖的jar包:

这个dispatcher下哪有什么.ng文件啊!打开WEB-INF下的web.xml,这里果然报错标红了:

没有当然报错了,百度下https://blog.csdn.net/hgx_suiyuesusu/article/details/78167616,我们修改为:

运行:然而有出错了:

查看tomcat的日志文件:

反射异常,报错提示,缺少了 javassist的jar文件(不知道为什么开始见工程的时候选择struts2中并没有step2中的截图):上maven库找:http://mvnrepository.com/。 javassist-3.20.0-GA.jar 。

将这个jar导入project中:

运行,成功了:

打开浏览器输入访问地址: http://localhost:8080/hello

完成!!!

struts2学习一:hello struts2及struts2环境配置中遇到的问题的更多相关文章

  1. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  2. [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置

    [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置 https://github.com/dotnet-architecture/eShopOnContain ...

  3. [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. Struts2学习笔记(一) Struts2配置文件的配置

    1.配置web.xml文件. 在Struts2中,struts框架式通过Filter启动的.Filter在web.xml中的配置如下: <filter> <filter-name&g ...

  5. struts2学习笔记(二)—— struts2的架构【转】

    一.系统架构   Struts2的官方文档附带了Struts2的架构图. 从这张图能够非常好的去理解Struts2 关于图中的Key: Servlet Filters:过滤器链,client的全部请求 ...

  6. struts2学习笔记(一)—— struts2介绍及入门程序

    一.struts2概述 1.1 什么是struts2? 在介绍Struts2之前,先来认识一下Struts1.Struts1是最早的基于MVC模式的轻量级web框架,他能够合理的划分代码结构,并包含了 ...

  7. Python学习(一)安装、环境配置及IDE推荐

    Python的安装.环境配置及IDE推荐 官网:https://www.python.org/ 版本:2.x 和 3.x 差别较大:python3是不向下兼容:版本区别可参考网官网介绍 至于选择 Py ...

  8. 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置

    在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...

  9. cocos2d-x的初步学习二十一之iosandroid跨平台环境配置

    这篇文章中,我们将来构建下跨平台开发的环境配置,我自己也是参考了别人了文章,折腾了几个小时,尤其是android的配置相对麻烦些.... 参考自子龙山人:http://www.cnblogs.com/ ...

  10. cocos2dx 3.0 学习笔记 引用cocostudio库 的环境配置

    cocostudio创建UI并应用时须要引用cocostudio库,须要额外的环境配置: 之前已经搭配好了基础的开发环境,包含 1) JDK 2) Python 2.7 3) ant 4) visua ...

随机推荐

  1. java集合专题 (ArrayList、HashSet等集合底层结构及扩容机制、HashMap源码)

    一.数组与集合比较 数组: 1)长度开始时必须指定,而且一旦指定,不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素-比较麻烦 集合: 1)可以动态保存任意多个对象,使用比较方便 ...

  2. python3发微信脚本

    企业微信发微信脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- #GuoYabin import requests,json,sys,imp imp.r ...

  3. C++ 序列操作函数最全总结

    标准库定义了许多用于操作序列的算法,大多在algorithm和numeric文件中,大多数函数的原理并不复杂,但是在很多情况下可以替代手写的情况,甚至更加优秀. 这类算法函数非常多,但是他们都有共同的 ...

  4. centos安装k8s集群

     准备工作 关闭swap,注释swap分区 swapoff -a 配置内核参数,将桥接的IPv4流量传递到iptables的链 cat > /etc/sysctl.d/k8s.conf < ...

  5. 实力再获认可!Smartbi入选爱分析·产业数字化厂商全景报告

    近日,中国独立的第三方产业数字化研究与咨询机构--爱分析发布<2021爱分析·产业数字化厂商全景报告>.思迈特软件凭借优秀的解决方案能力及丰富的业务实践经验,入选报告中银行数字化.保险数字 ...

  6. 如何在github上准确的搜索 项目

    1.按名字搜索:in:name 1. 2.in:name wpf stars:>100 2.按 in:readme wpf stars:>100  3.按描述搜索 in:descripti ...

  7. c# $ @特殊字符

    c# @ 停止字符串中的转义字符,让字符串内的转义字符当正常字符输入. 因此,如果你需要类似"所见所得"效果的赋值,逐字字符串赋值方式会是你的首选!此外,需要注意的是,当使用符号 ...

  8. rlwrap的使用

    转至:http://blog.itpub.net/429786/viewspace-776177/ 在LINUX下使用ORACLE一些命令时(如sqlplus,rman等),经常需要调用上次或之前运行 ...

  9. Service层抽象规范

    Service层是整个web系统的负责业务逻辑一块,最有必要实现抽象,Service层要达到复用性,低耦合性.那么该如何抽象呢?一般遵循以下原则 1.单一职责(SRP) 2.开放-封闭(OCP) 3. ...

  10. curl 命令常用

    参考: https://www.cnblogs.com/name-lizonglin/p/12167808.html -- 测试 请求返回时间  测试Pod 之间解析时间   用key为空字符串查me ...