JavaWeb知识回顾-使用IDEA开发一个servlet.
刚刚开始学习使用IDEA进行开发,好多都不会,本来想直接导入一个eclipse项目,但是出现了好多错误,一时不知道怎么修改,所以就从最基本的servlet开始着手,慢慢熟悉这个工具,下面是使用IDEA创建一个web项目,然后开发一个简单的servlet案例。我也是看着别人的教程,自己边看边弄,然后记录一下。
第一步,新建并配置WEB项目
1.File-->New-->Project,然后如下图,选择Web Application,点击next

2.输入项目名,这里我输入FirstWeb,然后finish

3.建好的项目结构如下:

其中lib和classes两个文件是要自己手动创建的。New --> Directory

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

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




6.配置打包方式Artifacts:点击 Artifacts选项卡,IDEA会为该项目自动创建一个名为“FirstWeb:war exploded”的打包方式,表示 打包成war包,并且是文件展开性的,输出路径为当前项目下的 out 文件夹,保持默认即可。勾选“Show content of elements”,表示显示详细的内容列表。

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

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

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

测试一下
Run -> Edit Configurations,进入“Run Configurations”窗口,选择之前配置好的Tomcat,点击“Deployment”选项卡,点击“+” -> “Artifact”-> 选择创建的web项目的Artifact...
修改“Application context”-> Apply -> OK

在index.jsp文件中的body之间添加要显示的内容,然后点击“运行”的绿色三角

运行结果

第三步,简单Servlet开发
你可以直接新建一个servlet,或新建一个类,然后继承HttpServlet。这里我就直接建一个类了。代码如下
package com.mz.first;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Package com.mz.first
* @Description: 第一个servlet实例
* @auther 小夜埙
* @create 2017/9/26 21:47
*/
public class FirstServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.print("first web!");
}
}
方法一:
在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:
<servlet>
<servlet-name>First</servlet-name>
<servlet-class>com.mz.first.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
方法二:
在文件的类前面加上:@WebServlet("/First")
运行调试

小结:
今天在学习使用idea的时候,在新建项目时没有选Java Enterprise,结果在我新建一个servlet时,找不到与servlet相关的包,后来我就直接把tomcat下的包放到了lib下,结果才运行正常的。现在对idea还不是很熟悉,所以弄出很多的错误。
JavaWeb知识回顾-使用IDEA开发一个servlet.的更多相关文章
- 如何开发一个Servlet
1 如何开发一个Servlet 1.1 步骤: 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行!! 3.1 s ...
- JavaWeb知识回顾-servlet简介。
现在公司主要用jsp+servlet这种原生的开发方式,用的是uap的开发平台,所以趁着这个时候把有关javaweb的知识回顾一下. 首先是从servlet开始. 一.什么是Servlet?(是一些理 ...
- JavaWeb知识回顾-servlet生命周期。
Servlet生命周期 生命周期,很容易理解,拿人来说,就是你从出生到离开的这一过程.无论是什么技术,只要谈到生命周期都可以这样理解. Servlet的生命周期就是从它被创建到毁灭的过程,整个过程可以 ...
- 开发一个Servlet示例
Servlet响应请求步骤: Servlet是一个基于Java技术的Web组件,运行在服务器端,用户利用Servlet可以很轻松地扩展Web服务器的功能,使其满足特定的应用需要.Tomcat是一个常用 ...
- JavaWeb知识回顾-Servlet常用类、接口及其方法
今天主要把servlet的一些常用的类.接口和方法简单回顾一下. javax.servlet包 1.javax.servlet.Servlet接口 接口用于开发servlet,所有的servlet都要 ...
- JavaWeb知识回顾二
动态web资源相关 1.tomcat相关 tomcat的目录结构 bin -- tomcat服务器的批处理文件的存放目录 conf -- tomcat服务器配置文件的存放目录 lib -- tomca ...
- JavaWeb知识梳理
目录 JavaWeb Web服务器 技术讲解 Web服务器 Tomcat Http Maven pom.xml Servlet HelloServlet Servlet原理 Mapping Servl ...
- JavaWeb从开发环境搭建,到第一个servlet程序(图文)
## 开学到今天,已经是第三周了~ 然而这门课的教材还没发~ 滋滋滋 表示很“蓝瘦”~~~ Java Web开发环境搭建 1. 下载安装Tomcat 官网地址:http://tomcat. ...
- python 全栈开发,Day32(知识回顾,网络编程基础)
一.知识回顾 正则模块 正则表达式 元字符 : . 匹配除了回车以外的所有字符 \w 数字字母下划线 \d 数字 \n \s \t 回车 空格 和 tab ^ 必须出现在一个正则表达式的最开始,匹配开 ...
随机推荐
- SVN跨服务器自动更新--实现文件分发
目标:SVN版本库提交,服务器中的工作拷贝能自动update. 实现方法:subversion, curl,php脚本实现,并且入mysql库来进行管理.改hosts文件来进行访问!提交触发钩子脚本时 ...
- php的错误处理机制
看tp5源码的,补充下 error_reporting(E_ALL); set_error_handler([__CLASS__, 'appError']); set_exception_handle ...
- ICPC 2018 南京网络赛 J Magical Girl Haze(多层图最短路)
传送门:https://nanti.jisuanke.com/t/A1958 题意:n个点m条边的路,你有k次机会将某条路上的边权变为0,问你最短路径长度 题解:最短路变形,我们需要在常规的最短路上多 ...
- 阳/阴性预测值Positive/negative Predictive Value(推荐AA)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...
- 前端PHP入门-010-内部函数
内部函数,是指在函数内部又声明了一个函数. 注意事项: 内部函数名,不能是已存在的函数名 假设在函数a里面定义了一个内部函数,不能调用两次函数a. <?php function foo() { ...
- Unix处理目标文件的工具
- OpenCV---模板匹配matchTemplate
作用有局限性,必须在指定的环境下,才能匹配成功,是受到很多因素的影响,所以有一定的适应性 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是 ...
- JavaScript之RegExp
分为字面量和RegExp构造函数 1.正则表达式的匹配模式支持3个标志 g:表示全局模式,模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止 i:表示不区分大小写模式,即在确定匹配项时忽略模式 ...
- Atcoder #014 agc014_D 树形DP+nim变形
LINK 题意:两人在一颗树上做游戏,先手可以将树上一个节点染白,后手染黑,到最后时,所有与黑色相邻的白色同时变黑.如果还存在白色,先手胜,否则后手胜. 思路:首先不考虑树上,单独为链时,不管找规律也 ...
- [洛谷P4609] [FJOI2016]建筑师
洛谷题目链接:[FJOI2016]建筑师 题目描述 小 Z 是一个很有名的建筑师,有一天他接到了一个很奇怪的任务:在数轴上建 \(n\) 个建筑,每个建筑的高度是 \(1\) 到 \(n\) 之间的一 ...