一.配置tomcat
- 点击Edit Configurations
- 点击+号找到本地Tomcat
- 点击Configuration,在弹出的窗口中选择本地Tomcat的根目录,可以通过加减来添加删除版本
二.对servlet项目部署
这是创建的web项目结构
web.xml文件内容
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<!--配置名称和路径-->
<servlet-name>demo</servlet-name>
<servlet-class>ser.servletdemo</servlet-class>
</servlet>
<!--对名称做对应的映射,之后用/demo可访问带实现类-->
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/demo</url-pattern>
</servlet-mapping>
</web-app>
一开始部署Tomcat的时候我选择的是用项目的web文件夹进行部署
运行服务,默认访问的到的是index.jsp文件
这时通过web下的文件名称可以直接访问到资源文件
但是这时候我们的web.xml配置文件就会无法加载到,如果我试图用我的配置名称demo进行访问的话,会出现实例化异常
解决方案
点击Field Structure
选择war的输出路径,点击后会给出默认的路径
右键项目,点击箭头指向处添加进项目
回到Edit Configuration中,这时点击Artifacts就会把我们刚才加的路径添加进去
运行之后还是无法访问,发现是servlet-api.jar包没有被识别,回到Artifacts中,将jar包也放置进去
此时再次输入虚拟路径,运行成功
这时候如果觉得用web.xml文件进行配置太麻烦,可以用注解的方式直接进行配置,直接在实现类中加入如下注解即可
这时候新的问题又来了。。当我试图用文件名访问web下资源文件时候
原因是我们配置的路径发生改变,无法直接访问到,再次回到我们的Artifacts中,此时的Output directory才是我们放置的位置
访问成功