idea搭建JavaWEB项目, servlet, tomcat
【博客园cnblogs笔者m-yb原创,转载请加本文博客链接,笔者公众号aandb7 爱码一生,QQ群927113708, github: https://github.com/mayangbo666】
https://www.cnblogs.com/m-yb/p/10925688.html
这里我决定写个idea 搭建项目的笔记:
首先打开idea,
选择新建项目, 左侧选择Java, 项目的SDK JDK 我这里用的是jdk1.8, 额外的libs和框架由于想键JavaWeb项目, 因此选择Java EE的 Web Application web应用,
下一步, 填写项目名和项目文件根路径,
完成后, 在新窗口新建打开新项目, 我是idea2017.2.2版本, 可以看到项目层次结构如下:
下一步, 先来配置web应用运行在的Tomcat容器上,
分别按照1,2,3点击选择Local进入,
1,2,3,4,5分别进行检查配置操作,
看到警告, 没有项目被部署, 点击Fix, 来到部署界面,
如果?处是空的则采取手动添加,
点击+号, 选择Artifact项目,
这里填写application context,
这里讲下浏览器将要访问的路径,
跟tomcat的ip, 端口号有关,以及此处配置的application context对应访问接受那个项目那个uri,
localhost:8080/javaweb1111/
这里填完application context, 返回tomcat server配置处, 切换到update 热部署选项,
apply应用, ok,
至此tomcat配置完毕,
大致浏览下项目结构,
现在还缺少一些lib jar包,
下面先搞一个servlet,
src右键,选择新建servlet,
项目结构图如下,
看到src源码包里面已经有了MyServlet类,
import java.io.IOException; public class MyServlet extends javax.servlet.http.HttpServlet { protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { } protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { } }
发现找不到servlet依赖, Alt+Enter 添加Java EE 6 JARs依赖,
项目里没有现成的java ee 6 jars lib包使用, 就下载,
下载完成, 加载完成, 发现不报错了,
为了访问之后, 有效果, 这里在doGet里面加入后台输出语句,
浏览器输入url回车直接访问,是get类型的请求, 就会执行后台的doGet方法, 如果此时想调用doPost, 也可以在doGet里面调用doPost方法,
import java.io.IOException; public class MyServlet extends javax.servlet.http.HttpServlet { protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { System.out.println("doPost()..."); } protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { System.out.println("doGet()..."); // doPost(request, response); } }
写完代码, 再进行web.xml配置, 配置一个servlet-mapping 映射标签,
<?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"> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/get233</url-pattern> </servlet-mapping> </web-app>
根据提示添加, 将此servlet-mapping关联到MyServlet类上, url配置为 /get233, debug方式启动tomcat, 注意不要断点,
启动如果弹出需要允许java联网则允许,
启动完成, 没有报错, 则进行访问,
localhost:8080/javaweb1111/get233
发现前后台反馈正常, 后台打印出东西, 至此完毕.
最后补一张另一种依赖方式, 除了依赖java ee 6 jars也可等效替换为依赖tomcat内置lib下面的两个包:
jsp-api.jar和servlet-api.jar
也可正常使用.