IDEA与Tomcat创建并运行Java Web项目及servlet的简单实现
创建Web项目
1、 File -> New Project ,进入创建项目窗口



2、在 WEB-INF 目录下点击右键, New -> Directory ,创建 classes 和 lib 两个目录

3、 File -> Project Structure ,进入 Project Structure窗口
4、点击 Modules -> 选中项目“ JavaWeb ” -> 切换到 Paths 选项卡 -> 勾选 “ Use module compile output path ”,将 “ Output path ” 和 “ Test output path ” 都改为之前创建的classes目录

5、点击 Modules -> 选中项目“ JavaWeb ” -> 切换到 Dependencies 选项卡 -> 点击右边的“ + ”,选择 “ JARs or directories ”




注意: Java Web项目是需要依赖 上图看到的 JDK 与 Tomcat包(Servlet模块就在里面)的!



6、配置打包方式 Artifacts :点击 Artifacts选项卡 ,IDEA会为该项目自动创建一个名为“ JavaWeb:war exploded ”的打包方式,表示 打包成war包,并且是文件展开性的,输出路径为当前项目下的 out 文件夹, 保持默认即可 。另外勾选下“ Build on make ”,表示编译的时候就打包部署,勾选“ Show content of elements ”,表示显示详细的内容列表。
【参考】:
Intellij IDEA 14.x 中的Facets和Artifacts的区别
Intellij IDEA 14.x 菜单项中Compile、Make和Build的区别

二、配置 Tomcat
1、 Run -> Edit Configurations ,进入“ Run Configurations ”窗口
2、点击" + "-> Tomcat Server -> Local ,创建一个新的Tomcat容器

3、在" Name "处输入新的服务名,点击“ Application server ”后面的“ Configure...”,弹出 Tomcat Server 窗口,选择本地安装的Tomcat目录 -> OK

4、在“ Run Configurations ”窗口的“ Server ”选项板中,去掉勾选“ After launch ”,设置“ HTTP port ”和“ JMX port ”,点击 Apply -> OK ,至此Tomcat配置完成。

三、在 Tomcat中部署并运行项目
1、 Run -> Edit Configurations ,进入“ Run Configurations ”窗口,选择之前配置好的Tomcat,点击“ Deployment ”选项卡,点击“ + ” -> “ Artifact ”-> 选择创建的web项目的 Artifact

2、修改“ Application context ”-> Apply -> OK

3、运行Tomcat,在浏览器中查看运行结果



servlet的简单实现:
1. 编写servlet源文件
在src目录下新建HelloWorld.java,并编写一下代码并进行编译:
package servlet.study; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter; /**
* Created by lijia on 2015/12/23.
*/
//@WebServlet(name = "Servlet")
//@WebServlet("/servlet")
public class ServletDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
编译后会发现在classes目录下生成了HelloWorld.class文件
方法一:
在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:
<?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>ServletDemo1</servlet-name>
<servlet-class>servlet.study.ServletDemo1</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/da</url-pattern>
</servlet-mapping>
</web-app>
方法二:
在HelloWorld文件的类前面加上:@WebServlet("/da")
3. 运行servlet
点击运行按钮
控制台出现successfully则tomcat服务启动成功!打开浏览器输入:localhost:8080/JavaWebDemo2/da即可查看servlet运行状态了.
IDEA与Tomcat创建并运行Java Web项目及servlet的简单实现的更多相关文章
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...
- 运行java web项目时报错:Several ports (8005, 8080, 8009) required
运行java web项目时报错:Several ports (8005, 8080, 8009) required 如下图 之所以报上面的错误是因为安装Tomcat的时候,已经把端口8005,8080 ...
- 运行Java Web项目报错
运行Java Web项目报错 今天,我启动服务,发现项目报错,并且是在打开登录界面时报错. 具体错误如下: org.apache.catalina.core.Standard WrapperValue ...
- idea 创建 SSM + maven Java Web 项目流程
idea 创建 SSM + maven Java Web 项目流程 一.idea 中选择File,New Project 新建项目 二.选择Maven,勾选上面的Create from archety ...
- 使用IDEA结合MAVEN创建一个Spring Java Web项目
前言 如今的Java项目,如果还使用传统的把jar包复制到目录下这种原始的方式,对于依赖管理来说实在是灾难.对某个功能需要引入某种技术包,但是你不确定是否已存在,如果分类好的话还好找,若是杂在一堆不仅 ...
- eclipse 创建并运行maven web项目
这两天想在eclipse上运行maven web项目,折腾了许久,总算success啦. 1,利用eclipse创建dynamic web project(eclipse需要安装m2eclipse). ...
- 使用tomcat插件运行java web项目
1 新建javaweb项目 使用骨架创建javaweb项目,具体步骤不熟悉的参见上一篇文章[idea集成maven]. 2 添加依赖 <dependency> <groupId> ...
- Myeclipse 搭建Java Web 项目:Servlet 《二》
上一节,我们使用myeclipse部署了web项目,但那部署的为静态的web项目,下面我们来学习编写动态的web项目,编写动态项目必须要用到的为:servlet. Servlet是由sun公司命名的, ...
- linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境
一.安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK rpm -qa | grep jdk (2)卸载不需要的JDK yum -y remove 安装包名称 2.下载并解压 ...
随机推荐
- Const和ReadOnly区别及其用途--转载
常量的概念就是一个包含不能修改的值的变量,常量是C#与大多数编程语言共有的.但是,常量不必满足所有的要求.有时可能需要一些变量,其值不应改变,但在运行之前其值是未知的.C#为这种情形提供了另一个类型的 ...
- django --fields.E304 错误解决方案
今天在同一个表里,有多个不同的用户集时出现. fields.E304: Field name <field name> clashes with accessor for <fiel ...
- Android Activity生命周期 onSaveInstanceState和onRestoreInstanceState
当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候. 注意上面 ...
- lintcode 中等题:unique Binary Search Tree 不同的二叉查找树
题目 不同的二叉查找树 给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种? 样例 给出n = 3,有5种不同形态的二叉查找树: 1 3 3 2 1 \ / / / \ \ 3 2 1 ...
- *[topcoder]PalindromicSubstringsDiv2
http://community.topcoder.com/stat?c=problem_statement&pm=12967 计算一个字符串里Palindrome的数量.我的DP方法需要n^ ...
- Java NIO原理图文分析及代码实现
原文: http://weixiaolu.iteye.com/blog/1479656 目录: 一.java NIO 和阻塞I/O的区别 1. 阻塞I/O通信模型 2. java ...
- CentOS7 升级python同时解决yum损坏问题
CentOS7中的python版本为python2.7.5,升级到最新版的python时需要注意两个问题 新版的python安装好后要修改python的系统默认指向问题 升级到最新版python后yu ...
- Android handler.obtainMessage()
在handler.obtainMessage()的参数是这样写的: Message android.os.Handler.obtainMessage(int what, int arg1, int a ...
- Java API —— List接口&ListIterator接口
1.List接口概述 有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索 ...
- 神经网络第三部分:网络Neural Networks, Part 3: The Network
NEURAL NETWORKS, PART 3: THE NETWORK We have learned about individual neurons in the previous sectio ...