Idea搭建servlet开发过程

https://www.cnblogs.com/javabg/p/7976977.html

(1)    安装idea,jdk,tomcat;设置好环境变量;

(2)    新建项目工程new-project-java Enterprise-Web Application;

(3)    设置工程名称,也就是程序的根目录;

(4)    创建并设置生成输出目录;在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录;File --> Project Structure...,进入 Project Structure窗口,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的classes目录;点击 Modules --> 选中项目“JavaWeb” --> 切换到 Dependencies 选项卡 --> 点击右边的“+”,选择 “JARs or directories...”,选择创建的lib目录;

(5)    File --> Project Structure- Artifacts设置打包输出格式和路径;

(6)    Run -> Edit Configurations,进入“Run Configurations”窗口,点击"+"-> Tomcat Server -> Local;配置好tomcat服务器;点击server设置端口;点击deployment设置程序的Application context,这个是本工程的根目录。在浏览器中访问的时候,通过这个路径访问路径WebHello下的类名HelloWorld ,url为http://localhost:8080/WebHello/HelloWorld

(7)    新建Java文件,实现HttpServlet类,实现init接口和destroy接口,重写doGet方法。

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;

public class HelloWorld extends HttpServlet {

private String message;

@Override

public void init() throws ServletException {

message = "Hello world, this message is from servlet!";

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//设置响应内容类型

resp.setContentType("text/html");

//设置逻辑实现

PrintWriter out = resp.getWriter();

out.println("<h1>" + message + "</h1>");

}

@Override

public void destroy() {

super.destroy();

}

}

(8)    配置web.xml文件,在其中添加名称

部署servlet

方法一:

在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>  根据名称在<servlet>找到servlet-class类HelloWorld

<url-pattern>/HelloWorld</url-pattern>  //浏览器中输入这个

</servlet-mapping>

在HelloWorld文件的类前面加上:@WebServlet("/HelloWorld")

(9)    编译运行程序,idea就会将程序部署到tomcat服务器;可以在浏览器中输入http://localhost:8080/HelloWorld

(10)浏览器发送请求,容器接收根据<url-pattern>找到<servlet-name>HelloWorld类名,再由HelloWorld类名找到<servlet-class>HelloWorld,调用接口返回响应。

Idea搭建servlet开发过程的更多相关文章

  1. 使用idea+Tomcat搭建servlet服务器

    1.使用java 搭建一个简单的Servlet 服务器 https://blog.csdn.net/qq_35164169/article/details/76146655

  2. Servlet还有学习的必要吗?(手工搭建Servlet)

    前言 在初学Java web的时候,就曾听到过这样一种说法: java Web的演变过程大概可以分为4个阶段: jsp + Servlet + jdbc spring + struts2+ hiber ...

  3. eclipse搭建servlet项目

    1.创建web项目 2.勾选Generate web.xml 3.创建Class文件并实现Servlet接口 当搜索Servlet接口时,如果未发现接口则Add library→选择tomcat版本至 ...

  4. NDK在windows下的开发环境搭建及开发过程

    在Android应用的开发工程中,不管是游戏还是普通应用,都时常会用到.so即动态链接库,关于.so是什么玩意儿,有什么好处,这个大家可以在网上查一下,本人不做过多解释..so本是linux下的文件类 ...

  5. 搭建servlet+jsp环境

    c3p0: <?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named- ...

  6. jsp和servlet开发过程中参数传递乱码问题总结

    1.前言 相信很多初学者在学习javaWeb基础知识时,总会遇到各种各样的乱码问题,我也是从那个时候过来的.当时遇到各种乱码问题,只能通过面向百度的方式,解决各种乱码问题,乱码虽然问题能解决,但是总是 ...

  7. 使用Intellij搭建Servlet开发环境

    https://blog.csdn.net/yhao2014/article/details/45740111 使用Tomcat 9时,必须使用jre 1.8,否则会出现Unable to ping ...

  8. intellij使用tomcat搭建servlet运行时环境

    http://suiyu.online/2017/08/01/intellij%E4%BD%BF%E7%94%A8tomcat%E6%90%AD%E5%BB%BAservlet%E8%BF%90%E8 ...

  9. servelet基础

    1.1           servlet简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序.她是一个浏览器和服务器之间的中间层.程序员开发程序,实现servlet的接口.S ...

随机推荐

  1. 执行效率做比较,Go、python、java、c#、delphi、易语言等

    比较环境,在win7   64位,比较各种语言的整数型运算,下面的比较只作为单项比较.具体方式,40000*40000遍历相加.为了防止编译器优化,生成一个随机数. 1:c#,在NET2.0框架下作为 ...

  2. 关于java中Pattern和Matcher区别于联系

    本文章转自: http://blog.csdn.net/cclovett/article/details/12448843 结论:Pattern与Matcher一起合作.Matcher类提供了对正则表 ...

  3. PHP调用接口用post方法传送json数据

    1.核心代码: <?php require("helper.php"); header('content-type:text/html;charset=utf-8'); $k ...

  4. SpringBoot2.0整合mybatis、shiro、redis实现基于数据库权限管理系统

    转自https://blog.csdn.net/poorcoder_/article/details/71374002 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管 ...

  5. 前端的图片压缩image-compressor(可在图片上传前实现图片压缩)

    https://www.imooc.com/article/40038 https://www.jianshu.com/p/3ce3e3865ae2 前端的图片压缩image-compressor(可 ...

  6. Python tesserocr模块使用示例

    操作系统:Win10 1709  X64 python版本:3.6.5 依赖模块:PIL.tesserocr. 需要说明的是,在windows系统上PowerShell通过PIP3 install t ...

  7. Tomcat服务安全加固

    Tomcat服务默认启用了管理后台功能,使用该后台可直接上传 war 文件包对站点进行部署和管理.由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接 ...

  8. Android签名文件转化为pk8和pem来对apk重签名

    当我们需要修改已经打包好的apk中的某个文件时,比如改下图标,我们势必要采用反编译apk,改文件,重编译apk,重签名才行,参考:https://www.cnblogs.com/zndxall/p/9 ...

  9. linux系统644、755、777权限详解

    在linux系统中644.755.777三种权限是非常重要的一些权限了,下面我来详细的介绍644.755.777三种权限的使用,希望对各位有帮助. 常用的linux文件权限:444 r--r--r-- ...

  10. POJ 3080 Blue Jeans(Java暴力)

    Blue Jeans [题目链接]Blue Jeans [题目类型]Java暴力 &题意: 就是求k个长度为60的字符串的最长连续公共子串,2<=k<=10 规定: 1. 最长公共 ...