**
java.lang.NoSuchMethodException异常解决
**
1、检查action层是否存在该方法
2、检查该方法是否为 public
3、检查此方法是否传了参数 action的方法有参数
4、Struts.xml文件中的action
5、检查jar包
6、清理缓存,重新部署
自己搭建Tomcat环境之后,访问jsp页面之后跳转访问Servlet资源时却出现404
通常的话出现404错误肯定是先检查自己的访问路径有没有写对,我检查后我这个路径是没有错的,代码逻辑也是没问题的。于是我就开始在网上搜索解决方案了,以下是我在网上搜到的解决方案以及自己的一点片面见解
一.servlet版本与tomcat版本不对应
这个问题真的很致命,因为我自己问题就是出现在这(我承认自己是有点弱智…),我用的Tomcat版本是8.5.x,然后一直用的是4.0的Servlet版本(版本得对应上,不过我之前没对应上的时候好像也可以运行Servlet),这一次做的项目用到了EL表达式,终于在这一次出现问题了,在网上找了那么多方案,兜兜转转原来是出现在这里,于是我重新创建了JavaEE7的项目,选择了3.1版本(我这个项目采用的是注解配置),后来重新布置了下环境,就能运行了
二.注解方式的WebServlet配置错误
采用注解配置的话,idea自动生动的Servlet的模板是
@WebServlet( name=“类名”)
但其实这样并没有配置好路径,我们可以将其改为以下两种方式
①@WebServlet( name=“类名”,urlPatterns="/路径")
举例:@WebServlet( name=“UserListSerlvet”,urlPatterns="/userListServlet")
②@WebServlet( value="/路径") ,此处value要是只有一个可以省略
举例:@WebServlet( “/userListServlet”)
上面的斜杠千万不能落下
未能正确部署Web项目到Tomcat上
1首先,右击项目,点击 open module settings
2.配置 project,主要是本地 jdk 的安装路径,还有项目编译输出的路径
3.配置 modules ,其中 paths 定位到 web-inf/classes ;dependencies 加入jdk和项目 web-inf/lib(其实这里默认选择就可以)
4.配置 libraries ,点击 + 号,选择 java ,然后还是选择你项目的 web-inf/lib
5.配置 facets ,此步很重要,配置 web resource directories ,路径配错,就会报 404 ,一定要定位到项目根目录,也就是下面有整个项目源码的地方(这里的话我一开始也有犯了这个错误,因为在项目里面新建个模板,然后也不知道为什么路径会定位到别的地方,所幸最后改过来)
6.配置 artifacts ,此步选择第二个,选择你的项目即可
7、部署到 tomcat,“Run”中的“Edit Configurations…”
四.文件放置到错误位置(非idea)
五.未能正确的配置web.xml文件
这里的话针对的是用web.xml配置访问目录的,这里的话其实要是知道怎么配置基本不会出现这个问题,不过要是编辑错的话确实会出现404错误,这里就稍微提一下
1
2 HWS
3 com.web.servlet.HelloWorldServlet
4
5
6 HWS
7 /hws
8
tomcat出现java.lang.IllegalStateException No output folder错误解决方法 问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误,错误提示如下: localhost:8080 java.lang.IllegalStateException: No output folder
**
原因如下:tomcat目录没有被读写的权限,导致文件不能被编译到指定的工作目录中。
解决办法:
找到tomcat目录,右键“属性—>安全—>编辑”,找到Users,将“完全控制”选项“允许”打钩,应用。