【Intellij】Intellij Idea 2017创建web项目及tomcat部署实战
相关软件:Intellij Idea2017、jdk16、tomcat7
Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系统环境变量,tomcat7上tomcat的官网下载压缩包解压即可。
明确两个概念:
1、Project:类似于eclipse的workspace概念
2、Module:类似于eclipse的工程项目概念
当然,实际开发中最好是一个Project对应一个module。
一、创建简单web项目
1、创建一个web project
File -> new Project ->选择project sdk 为1.6(如果没有sdk的同学请先配置)-> Next
create project from template 页面,不勾选任何选项 -> Next
输入项目名:webDemo -> Next -> Finish
二、创建一个Module
鼠标点中项目名称webDemo -> 右键选择New,选择Module -> Module SDK 选择1.6 -> 勾选JavaEE下的Web Application(3.1) ,注意窗口下的version对应为3.1,且Create web.xml已勾选 -> Next
输入Module name 为firstweb -> Finish
3、创建好的web项目
4、在web/WEB_INF 目录下创建两个文件夹:classes和lib
classes用来存放编译后输出的class文件,lib用于存放第三方jar包
5、配置文件夹路径
File -> Project Structure (ctrl + shift + Alt + s) 或者使用工具栏的快捷键 -> 选择Modules
-> 选择Paths -> 选择“Use module compile out path” -> 将Outputpath 和Test output path 都设置为刚刚创建的classes文件夹
选择当前窗口的Dependencies -> 将Module SDK选择为1.6 ->点击右边的 + 号 -> 选择 “1 JARS or directories ...”
-> 选择刚刚创建的lib文件夹 -> OK
-> 选择Jar Directory -> OK
-> Apply -> OK
三、配置Tomcat容器
打开菜单Run -> Edit Configurations...
点击 “+” ,选择 “Tomcat Server” -> 选择“Local”
在Name出输入新的服务器名,点击 "Application Server" 后面的 "Configure...",弹出Application Servers窗口,在Tomcat Home 选择本地安装的tomcat目录 -> OK
在"Run/Debug Configurations"窗口中Name一栏输入服务器的名字tomcat7,在“Server”面板中,勾选取消“After Launch”,设置“HTTP port”和“JMX port”(默认值即可),点击Apply -> OK,至此tomcat配置完毕(左边列表中tomcat图标上小红叉是未部署项目的提示,部署项目后就会消失)。
四、在tomcat上部署并运行项目
在创建好tomcat后,可以通过工具栏快速打开tomcat的配置页面:
也可以通过菜单栏:Run -> Edit Configurations... ->选择刚创建的tomcat7 -> 选择Deployment ->点击右边的“ + ”号 -> 选择 Artifact
-> 选择web项目 -> Application Context可以填“/firstweb”(也可以不填) -> Apply
回到Server面板,将On 'update' action和On frame deactivation(这两个选项是tomcat配置了项目后才有的)改为update classes and resources -> Apply
开发web项目并运行tomcat查看效果
1、编辑index.jsp页面
2、运行tomcat
2.创建servlet并运行
刚开始玩idea的时候,我们新建一个Servlet会发现,有错误
因为以前习惯了eclipse,所以,不知道idea还要有这样的操作。
这是因为idea中没有导入servlet-api包造成的。
解决办法如下:
file –> project Structure
点击Libraries ,然后绿色的+号,找到自己tomact的部署路径,然后在lib里边找到servlet-api这个价包,
然后在添加进来,就OK了,会发现servlet里边的错误不见了。
同理,如果是jsp页面报错的话,也是要加入进来这个jsp-api的价包的。
(1)新建servlet:
FirstServlet .java
package cn.qlq; import java.io.IOException; @SuppressWarnings("all") public class FirstServlet extends javax.servlet.http.HttpServlet { protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { response.getWriter().write("这是第一个Servlet"); } protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { this.doPost(request,response); } }
(2)配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <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_3_1.xsd" version="3.1"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>cn.qlq.FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/testServlet</url-pattern> </servlet-mapping> </web-app>
(3)启动访问:
注意两个问题:
第一个是启动之后没报错,可是连tomcat 的猫也看不见:
解决办法:
将Tomcat的首页的工程部署到Tomcat服务器上,部署步骤如下:
选择菜单栏“Run-->Edit Configuration...-->Deployment”,选择右上角绿色“+”,选择“External Source...”,将Apache-tomcat-8.0.33的webapps目录下的ROOT文件夹选中,点击OK,及完成Tomcat的首页的 工程的部署。
第二个是启动自后啥都没,项目也访问不到:
解决办法:
将catalina.bat优化JVM参数的注释掉
参考:https://www.cnblogs.com/Fly-Bob/p/7240153.html