用IDEA开发简单的Servlet

最近学习java,主要是servlet相关的内容。IDEA和servlet之前都没有碰过,所以做了一下小实验,走了一些弯路;这里把一个完整的步骤写出来,加深一下印象。

IDEA创建项目步骤

1. 在idea 14种新建一个java项目,类型是web Application

如下图

将创建的项目命名为DemoServlet

2. 建一个servlet的类,在project栏中的项目src目录上右键新建一个Servlet类,

命名为FirstServlet, 包名为javademo

3. 加入需要依赖的tomcat目录下的servlet-api.jar包

4. 编写FirstServlet的代码,第三步加入了对servlet-api的引用后,在idea就可以智能提示servlet的成员了,写好的简单代码如下:
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 {

    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.write("<h1> hello first servlet!</h1>");
    }
}
5. 编写web.xml配置文件,我们用向导自动生成servlet,idea会在web.xml中写好 <servlet>的配置,我们还需要增加<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>FirstServlet</servlet-name>
        <servlet-class>javademo.FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FirstServlet</servlet-name>
        <url-pattern>/demo</url-pattern>
    </servlet-mapping>
</web-app>

至此, 一个简单的servlet网页程序就编写完成了,接下来我们看看如何部署。

在tomcat上部署

我在window上用的是xampp自带的tomcat,主要看下如何在tomcat下部署我们刚刚创建的FirstServlet  web应用。

1. 将源码目录里包含index.jsp的web目录拷贝到tomcat的webapps目录下,重命名为FirstServlet
2. 在这个目录的WEB-INF目录下增加一个classes的目录
3. 在idea中编译工程后,在out目录下有编译好的.class文件, 我们将项目产出目录out\production\ServletDemo下的javademo文件夹拷贝到第二步创建的classes目录中,最后的目录结构如下

此处注意,classes中的目录结构要和包保持一致

4. 重启tomcat, 就可以在http://127.0.0.1:8080/FirstServlet/demo 这个地址看到我们的servlet页面了。

需要注意这个url的路径,FirstServlet是在webapps的目录名,demo是在web.xml中的servlet-mapping中控制的

 

时间: 2024-11-09 05:02:52

用IDEA开发简单的Servlet的相关文章

Servlet复习1: 一个简单的Servlet的使用

Servlet学习 1. Servlet与JSP的关系 2. Servlet的声明周期 3. 一个简单的Servlet的使用方法 什么是Servlet? 什么又是JSP? 继承了javax.servlet的一些类的程序 , 已经具有了Servlet的特征 但是Servlet的可视性不是太好, JSP可以弥补这一点 , jsp是Java Server Pagers , 是一种使用java作为脚本的语言, 在web服务器中可以转化为Servlet , 在传统的HTML网页中使用<% java语言 %

Servlet学习教程(三)---- 一个简单的Servlet例子

我们用个最简单的Servlet例子来解说一下Servlet简单配置以及Servlet类实现类的写法. 第一,我们新建一个Dynamic Web Project,起名Servlet 点击NEXT,设置Default output folder 为Servlet/WebContent/WEB-INF/classes 第二,创建一个包,包名为Servlet,然后创建一个类名为WelcomeServlet类.(Servlet类当然缺少不了Servlet容器,请注意你的开发软件是否已经集成Servlet容

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

一个简单的Servlet

1.Servlet开发选项: 为了创建Servlet,需要访问Servlet容器(服务器).两个常用的服务器分别是 Glassfish 和 Tomcat .这里的Servlet开发和部署都是基于Tomcat ,并且只使用命令行工具. 2.使用Tomcat: Tomcat包含了创建和测试Servlet所需要的类库.文档以及运行时支持.Tomcat有多个不同版本,从官网下载合适的版本即可http://tomcat.apache.org/.下载后解压,配置环境变量(64位Windows环境为例): 2

如何使用eclipse创建简单的servlet

Servlet是一种基于java开发的服务器程序,可以对外公布服务,如果是浏览器应用,可以通过浏览器打开网址的方式查看服务.创建servlet要继承httpservlet,并且在web.xml中配置拦截方式,,小编介绍下如何在eclipse下创建一个简单的servlet程序. 工具/原料 eclipse开发工具 httpServlelt包 java开发环境 方法/步骤 首先,创建一个简单的动态web项目. 打开eclipse,点击工具栏上的File文件--New新建--Project项目   选

监控开发之如何开发简单高性能扩展性强的监控系统

关于如何快速开发一套属于自己的运维监控系统. 记得刚入行的时候,对于监控方面,用的是nagios和cacti,现在大多数中小公司好多都开始搞zabbix了,熟悉zabbix的人,知道他的性能的瓶颈其实主要还是在数据库上,尤其是zabbx_server 针对数据库一些不高效逻辑的查询和写入引起的. 同事针对zabbix开发也搞了半年了,和他交流了下,有很多的想法. zabbix 有些查询完全可以从缓存里面取值,比如redis.memcached,不用非要从数据库里面来搞个消耗性能的大查询,有些监控

基于TINY4412的Andorid开发-------简单的LED灯控制【转】

本文转载自:http://www.cnblogs.com/pengdonglin137/p/3857724.html 基于TINY4412的Andorid开发-------简单的LED灯控制 阅读目录(Content) 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源代码情景分析> <嵌入式Linux系统开发完全手册_基于4412_上册> 作者:彭东林 邮箱:[em

Python开发简单记事本

摘要: 本文是使用Python,结合Tkinter开发简单记事本. 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能. 最近很想对python加深学习一下,同时也是想试着做一些东西,今天使用python,结合Tkinter来做一个简单的跨平台记事本.最终实现的记事本如下,也算是麻雀虽小,五脏俱全了,之后也是会继续完善的: 如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合我自身的习惯外加四个toolbar:新

【spark系列3】spark开发简单指南

分布式数据集创建之textFile 文本文件的RDDs能够通过SparkContext的textFile方法创建,该方法接受文件的URI地址(或者机器上的文件本地路径,或者一个hdfs://, sdn://,kfs://,其他URI).这里是一个调用样例:scala> val distFile = sc.textFile("data.txt")distFile: spark.RDD[String] = [email protected] 分布式数据集操作之转换和动作 分布式数据集