基于 IntelliJ IDEA 模拟 Servlet 网络请求示例

最近观看 Android 开发视频,里面使用的集成开发工具为 Eclipse 。使用 Eclipse 可以很快捷的编写 Web 项目,而我使用的 Androi Studio 因为专业就把建立其他工程的功能给阉割了。所以,不能忍受只能听老师讲而不能实际操作时望洋兴叹般的尴尬,我选择了使用 IntelliJ IDEA 来替代 Eclipse 模拟网络请求。下面结合一个简单网络请求的实现,来介绍 IntelliJ IDEA 的使用。

首先当然是下载 IntelliJ IDEA 集成工具,这个 Google/Baidu 一下,很容易就能获得。

接下来配置 Tomcat 服务器,以 Mac 电脑为例,参考:Mac上tomcat服务器安装配置。

然后打开 IntelliJ IDEA ,选择右边的 Java Enterprise 项目类型,选择刚装的 Tomcat 服务器,勾选 Web Application 选项。

新建工程

点选 next,输入自定义工程名称 demo:

工程

然后我们就能看到新建工程的全貌:

工程

至此,一个 Web 应用工程的框架已经做好。但是要顺利部署到 Tomcat 服务器,还需要我们添加处理服务的对象 Servlet。点击 src 文件夹,添加 Servlet:

servlet

Servlet 类中能看到默认生成的 doGet 和 doPost 方法:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html");
    response.getWriter().print("收到 post 请求");

    String username = request.getParameter("username");
    String pwd = request.getParameter("password");

    if("admin".equals(username) && "abc123".equals(pwd)) {
      response.sendRedirect("/2.html");
    }
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setCharacterEncoding("utf-8");//设置
    response.setContentType("text/html");

    String username = request.getParameter("username");
    String pwd = request.getParameter("password");
    if("admin".equals(username) && "abc123".equals(pwd)) {
      response.sendRedirect("/2.html");
    }
  }

要想使用新建的 Servlet 类,还需要在 web.xml 中进行配置:

<web-app ...>
  <servlet>
    <servlet-name>Servlet</servlet-name>
    <servlet-class>demo.Servlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Servlet</servlet-name>
    <url-pattern>/demo</url-pattern>
  </servlet-mapping>
</web-app>

其中 servlet-mapping 标签设置对外访问的路径。

然后在 web 目录下添加前端页面文件,比如命名 1.html 作为起始页面,2.html 作为跳转的结果页面。

页面

在 1.html 中编辑页面布局,设置 head 标签,在 body 标签中添加 form表单。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
  <title>MyFirst</title>
  <script type="text/javascript">
  </script>
</head>
<body>

<h1>登录页面(get)</h1>
<form action="/demo" method="get">

  <table>
    <tr>
      <td>
        用户名:
      </td>
      <td>
        <input type="text" name="username">
      </td>
    </tr>
    <tr>
      <td>
        密码:
      </td>
      <td>
        <input type="text" name="password" type="hidden">
      </td>
    </tr>
    <tr>
      <td colspan="2" style="align-items: center">
        <input type="submit" value="登录">
      </td>
    </tr>
  </table>
</form>

<h1>登录页面(post)</h1>
<form action="/demo" method="post">
  <table>
    <tr>
      <td>
        用户名:
      </td>
      <td>
        <input type="text" name="username">
      </td>
    </tr>
    <tr>
      <td>
        密码:
      </td>
      <td>
        <input type="text" name="password" type="hidden">
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <input type="submit" value="登录">
      </td>
    </tr>
  </table>
</form>
</body>
</html>

2.html中编辑页面:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <h1 style="color: red">
    登录成功!!!
  </h1>
</body>
</html>

最后点击 Debug 进行运行,部署到自己的 Tomcat 服务器上:

Debug

最后在浏览器输入网址: http://localhost:8080/1.html ,就能访问我们部署的网站了。

网站

打开 Chrome 的开发者工具,能够看到发送请求的详细情况:

发送请求

完工!

流程很简单,以后就可以使用 IDEA 来学习后端开发的基本知识了,比如可以在后端获取提交的文件,对成功的请求进行跳转,请求失败时要告知客户端等等,都可以进行模拟,更多知识点等你来发现了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 使用Servlet处理一个上传的文件

    Servlet中可以使用post请求上传文件,使用getReader()和getInputStream()自己处理,也可以使用getPart()或getParts()封装了一些功能的方法处理,getParts()可以同时上传多个文件.接下来使用四个Demo来练习一下使用方法 一.使用getReader()和getInputStream() Demo1 <!-- 这是HTML代码块,窗体网页上显示的是一个选择文件的input框和一个upload的button --> <!DOCTYPE h

  • 基于Eclipse 的JSP/Servlet的开发环境的搭建(图文)

    基于Eclipse 的JSP的开发环境的搭建 说明:顺利地开发.测试和运行JSP程序少不了规范而安全的开发环境,本文将会详细地展示如何搭建JSP的开发环境. 内容详尽,适合零基础学者作为学习参考 . 一.JSP介绍: 1.JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签(通常以<%开头以%>结束)在HTML网页中插入Java代码. 2.JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分.网页开发者们通过结合HTML代码

  • 详解如何使用IntelliJ IDEA新建一个Servlet项目

    本文介绍了使用IntelliJ IDEA新建一个Servlet项目,一步步很详细,有需要的朋友可以了解一下 创建项目 创建完后的目录结构为: web项目配置 在WEB-INF目录下新建两个文件夹,分别命名未classes和lib(classes目录用于存放编译后的class文件,lib用于存放依赖的jar包) 项目设置:File –> Project Structure-,进入 Project Structure窗口,点击 Modules –> 选中项目"JavaWeb"

  • AJAX+Servlet实现的数据处理显示功能示例

    本文实例讲述了AJAX+Servlet实现的数据处理显示功能.分享给大家供大家参考,具体如下: 实现功能:在输入框中输入字符,用AJAX传到后台Servlet处理后加上随机数,并返回到前台显示. 一.写前台jsp页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-

  • Servlet实现分页效果

    本文实例为大家分享了Servlet实现分页效果的具体代码,供大家参考,具体内容如下 分页的算法: 需要定义四个变量,它们有各自的用处 int pageSize:每页显示多少条记录 int pageNow:希望显示第几页 int pageCount:一共有多少页 int rowCount:一共有多少条记录 说明: pageSize是指定,pageNow是指用户的选择. rowCount是从表中查询得到的. pageCount是计算出来的,该计算公式为: if(rowCount%pageSize==

  • 深入讲解spring boot中servlet的启动过程与原理

    前言 本文主要介绍了关于spring boot中servlet启动过程与原理的相关内容,下面话不多说了,来一起看看详细的介绍吧 启动过程与原理: 1 spring boot 应用启动运行run方法 StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = null; FailureAnalyzers analyzers = null; configureHe

  • Java service层获取HttpServletRequest工具类的方法

    大家都知道 能在Controller/action层获取HttpServletRequest ,但是这里给大家备份的是从代码内部service层获取HttpServletRequest工具类. 具体如下: package com.base.common.sessionutils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframewo

  • IDEA新建javaWeb以及Servlet简单实现小结

    刚开始用IDEA开发,还不太熟悉,因此写一个教程,加深印象 1.新建一个Web项目 两种方法:java 和Java Enterprise(推荐) 第一种)通过Java工程创建,这个方法需要手动导入Tomcat的servlet包才能使用servlet 导入包的方法是创建项目并配置好Tomcat后,File->Project Structure,点击 Modules --> 选中项目"JavaWeb" -->切换到 Dependencies 选项卡 --> 点击右边

  • SpringBoot如何注册Servlet、Filter、Listener的几种方式

    在Servlet 3.0之前都是使用web.xml文件进行配置,需要增加Servlet.Filter或者Listener都需要在web.xml增加相应的配置.Servlet 3.0之后可以使用注解进行配置Servlet.Filter或者Listener:springboot也提供了使用代码进行注册Servlet.Filter或者Listener.所以springboot有两种方式进行Servlet.Filter或者Listener配置. 方式一:使用注解 (1)注册Servlet 使用@WebS

  • 详解如何通过tomcat的ManagerServlet远程部署项目

    介绍 之前在邮政实习时,leader让我阅读tomcat的源代码,尝试自己实现远程部署项目的功能,于是便有了这此实践. 在Tomact中有一个Manager应用程序,它是用来管理已经部署的web应用程序,在这个应用程序中,ManagerServlet是他的主servlet,通过它我们可以获取tomcat的部分指标,远程管理web应用程序,不过这个功能会受到web应用程序部署中安全约束的保护. 当你请求ManagerServlet时,它会检查getPathInfo()返回的值以及相关的查询参数,以

随机推荐