初入Java后端之Servlet
初入Java后端之Servlet
什么是Servlet?
Servlet实际上是一个按照Servlet规范写的Java类。是运行在Web服务端的Java应用程序。与Java程序的区别是,它里面封装了对Http请求的处理。
功能
Servlet主要是对Http请求进行相应的处理,生成动态的Web内容。
实现
原理图

至于Servlet的细节原理和优点,先暂时不说,直接上代码
总的来说,后端主要是处理前段发送过来的请求,那么最常见的请求便是post请求和get请求。
Servlet处理Get请求
前段Get请求表单,创建一个1.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>初入Servlet</title>
</head>
<body>
<%--使用Get请求,请求的url为/test--%>
<form method="get" action="/test">
<label>账号</label>
<input type="text" name="name" />
<label>密码</label>
<input type="password" name="pwd" />
</form>
</body>
</html>
页面样式:

后端处理Get请求
package com.server;
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;
//urlPatterns = {"/test"} 代表请求的路由
@WebServlet(name = "test",urlPatterns = {"/test"})
public class Test extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
//处理get请求的函数
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获得账号
String name = request.getParameter("name");
//获得账号
String pwd = request.getParameter("pwd");
//设置响应编码为utf-8
response.setCharacterEncoding("utf-8");
//告知浏览器编码方式; 浏览器默认编码是GBK
response.setHeader("Content-type", "text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.print("账号是"+name+","+"密码是"+pwd);
}
}
结果:

后端处理Post请求:
前端只要将method="get"==>method="post"
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>初入Servlet</title>
</head>
<body>
<%--使用Get请求,请求的url为/test--%>
<form method="post" action="/test">
<label>账号</label>
<input type="text" name="name" />
<label>密码</label>
<input type="password" name="pwd" />
<input type="submit" value="登录"/>
</form>
</body>
</html>
后端的请求与doGet一样,所以可以在doPost请求中调用doGet请求,代码如下
package com.server;
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;
//urlPatterns = {"/test"} 代表请求的路由
@WebServlet(name = "test",urlPatterns = {"/test"})
public class Test extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//使用doGet函数处理post请求
this.doGet(request,response);
}
//处理get请求的函数
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获得账号
String name = request.getParameter("name");
//获得账号
String pwd = request.getParameter("pwd");
//设置响应编码为utf-8
response.setCharacterEncoding("utf-8");
//告知浏览器编码方式; 浏览器默认编码是GBK
response.setHeader("Content-type", "text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.print("账号是"+name+","+"密码是"+pwd);
}
}
这次是对Java Servlet简单使用的介绍,下次会介绍更多的关于Servlet的使用

初入Java后端之Servlet的更多相关文章
- 初入Java坑,然后又入产品坑
之前工作了一年,从事Java相关工作,不小心深得领导器重,跑去演讲.写文档.与客户沟通等,最后应公司需要,转往产品坑,坑坑相连,何时逃坑. 最近一直在学习产品经理必备工具Axure,发现这真是一个神奇 ...
- 记录:初入Java环境部署踩坑
1.在部署环境之前,先确定大佬们用的哪几种软件,然后依次下载,安装,IDEA, JDK, Tomcat, Maven. 什么是JDK? JDK是 Java 语言的软件开发工具包,主要用于移 ...
- 初入爬虫(java)
public class CrawlerUtil { public static void main(String [] args) throws IOException { // 创建默认的http ...
- java后端程序员1年工作经验总结
java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...
- 各大公司java后端开发面试题
各大公司Java后端开发面试题总结 ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量.采用空间换时间,它用于线程间的数据隔离 ...
- 分享一些 Java 后端的个人干货
学习 Java 也有了不少时间,入 Java 后台的坑也有了一段时日.这段时间里,听过许多前辈的经验与分享,也看过许多大佬的文章和作品.找了个时间整理和总结了一下我个人到目前为止一路以来的听到看到或者 ...
- Java生鲜电商平台-Java后端生成Token架构与设计详解
Java生鲜电商平台-Java后端生成Token架构与设计详解 目的:Java开源生鲜电商平台-Java后端生成Token目的是为了用于校验客户端,防止重复提交. 技术选型:用开源的JWT架构. 1. ...
- Scala初入
何为Scala物 Scala为基于JVM虚拟机中的面向对象与函数式编程思想并且完全兼容Java的混合编程语言,可以是Scala与Java是同根同源的,既然Scala与JAVA都是基于JVM之上的编程语 ...
- 从app上传图片到php,再上传到java后端服务器的方法一览
在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依 ...
随机推荐
- bootstrap1.3
<html> <head> <meta charset="UTF-8"> <title></title> ...
- mac系统下安装Windows(7,8,10都一样的步骤)
1.下载纯净版window10镜像文件(ISO) 注意:必须是纯净版,不是ghost版 2.打开bootcamp软件(位置:launchpad-其他) 注意:硬盘不要分区,若分过区,请合并. ...
- phpize增加php模块
phpize增加php模块 张映 发表于 2010-02-09 分类目录: php 一,phpize的好处 什么时候我们要用phpize呢?我们在安装php时: './configure' '--pr ...
- 完美融合 nextjs 和 antd
相信大家在使用nextjs的时候,难免遇到一些坑.其实可能大部分原因在于 nextjs 做了很多封装,我们可能不能第一时间搞清楚包括它相关的所有配置,比如其中的webpack配置.我前面也写过 SSR ...
- Windows核心编程:第14章 探索虚拟内存
Github https://github.com/gongluck/Windows-Core-Program.git //第14章 探索虚拟内存.cpp: 定义应用程序的入口点. // #inclu ...
- 用一个应用场景理解ASP.NET Core Identity是什么?
目录 前言 基于声明的认证(Claims-based Authentication) 应用场景一 在ASP.NET Core 中Identity是如何实现的 类ClaimsPrincipal 考察另外 ...
- [Ynoi2016]这是我自己的发明(莫队)
话说这道题数据是不是都是链啊,我不手动扩栈就全 \(RE\)... 不过 \(A\) 了这题还是很爽的,通过昨晚到今天早上的奋斗,终于肝出了这题 其实楼上说的也差不多了,就是把区间拆掉然后莫队瞎搞 弱 ...
- 浅谈getResource方法
项目经常会读取一些配置文件, 因此getResource方法便能够起到重要作用 使用时主要是两种方法, 一个是字节码文件Class类, 另一个是ClassLoader类加载器 使用Class类时有两种 ...
- python实用库:PrettyTable 学习
python实用库:PrettyTable 学习 PrettyTable说明 PrettyTable 是python中的一个第三方库,可用来生成美观的ASCII格式的表格,十分实用. 以下为官方介绍: ...
- centos7 系统优化
#!/usr/bin/env bash #设置环境变量 export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/u ...