struts2学习一:hello struts2及struts2环境配置中遇到的问题
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环境配置中遇到的问题的更多相关文章
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置
[eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置 https://github.com/dotnet-architecture/eShopOnContain ...
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Struts2学习笔记(一) Struts2配置文件的配置
1.配置web.xml文件. 在Struts2中,struts框架式通过Filter启动的.Filter在web.xml中的配置如下: <filter> <filter-name&g ...
- struts2学习笔记(二)—— struts2的架构【转】
一.系统架构 Struts2的官方文档附带了Struts2的架构图. 从这张图能够非常好的去理解Struts2 关于图中的Key: Servlet Filters:过滤器链,client的全部请求 ...
- struts2学习笔记(一)—— struts2介绍及入门程序
一.struts2概述 1.1 什么是struts2? 在介绍Struts2之前,先来认识一下Struts1.Struts1是最早的基于MVC模式的轻量级web框架,他能够合理的划分代码结构,并包含了 ...
- Python学习(一)安装、环境配置及IDE推荐
Python的安装.环境配置及IDE推荐 官网:https://www.python.org/ 版本:2.x 和 3.x 差别较大:python3是不向下兼容:版本区别可参考网官网介绍 至于选择 Py ...
- 【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
在做这一节之前先配置我的另一篇文章所需要安装的前提准备条件:<[Mac + Appium学习(一)]之安装Appium环境前提准备> 一.安装IOS自动化测试环境 配置环境: Appium ...
- cocos2d-x的初步学习二十一之iosandroid跨平台环境配置
这篇文章中,我们将来构建下跨平台开发的环境配置,我自己也是参考了别人了文章,折腾了几个小时,尤其是android的配置相对麻烦些.... 参考自子龙山人:http://www.cnblogs.com/ ...
- cocos2dx 3.0 学习笔记 引用cocostudio库 的环境配置
cocostudio创建UI并应用时须要引用cocostudio库,须要额外的环境配置: 之前已经搭配好了基础的开发环境,包含 1) JDK 2) Python 2.7 3) ant 4) visua ...
随机推荐
- java集合专题 (ArrayList、HashSet等集合底层结构及扩容机制、HashMap源码)
一.数组与集合比较 数组: 1)长度开始时必须指定,而且一旦指定,不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素-比较麻烦 集合: 1)可以动态保存任意多个对象,使用比较方便 ...
- python3发微信脚本
企业微信发微信脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- #GuoYabin import requests,json,sys,imp imp.r ...
- C++ 序列操作函数最全总结
标准库定义了许多用于操作序列的算法,大多在algorithm和numeric文件中,大多数函数的原理并不复杂,但是在很多情况下可以替代手写的情况,甚至更加优秀. 这类算法函数非常多,但是他们都有共同的 ...
- centos安装k8s集群
准备工作 关闭swap,注释swap分区 swapoff -a 配置内核参数,将桥接的IPv4流量传递到iptables的链 cat > /etc/sysctl.d/k8s.conf < ...
- 实力再获认可!Smartbi入选爱分析·产业数字化厂商全景报告
近日,中国独立的第三方产业数字化研究与咨询机构--爱分析发布<2021爱分析·产业数字化厂商全景报告>.思迈特软件凭借优秀的解决方案能力及丰富的业务实践经验,入选报告中银行数字化.保险数字 ...
- 如何在github上准确的搜索 项目
1.按名字搜索:in:name 1. 2.in:name wpf stars:>100 2.按 in:readme wpf stars:>100 3.按描述搜索 in:descripti ...
- c# $ @特殊字符
c# @ 停止字符串中的转义字符,让字符串内的转义字符当正常字符输入. 因此,如果你需要类似"所见所得"效果的赋值,逐字字符串赋值方式会是你的首选!此外,需要注意的是,当使用符号 ...
- rlwrap的使用
转至:http://blog.itpub.net/429786/viewspace-776177/ 在LINUX下使用ORACLE一些命令时(如sqlplus,rman等),经常需要调用上次或之前运行 ...
- Service层抽象规范
Service层是整个web系统的负责业务逻辑一块,最有必要实现抽象,Service层要达到复用性,低耦合性.那么该如何抽象呢?一般遵循以下原则 1.单一职责(SRP) 2.开放-封闭(OCP) 3. ...
- curl 命令常用
参考: https://www.cnblogs.com/name-lizonglin/p/12167808.html -- 测试 请求返回时间 测试Pod 之间解析时间 用key为空字符串查me ...