初入Java后端之Servlet

初入Java后端之Servlet

后端 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的使用

原文地址:https://www.cnblogs.com/xiaohuiduan/p/9865139.html

时间: 2024-10-15 01:47:32

初入Java后端之Servlet的相关文章

JAVA后端实习入职准备工作以及软件整合

JAVA后端实习入职准备工作以及软件整合,重装电脑必备 入职准备: 1. 首先搞清楚入职时间和详细地址,有时间先去看看. 2. 搞清楚自己到公司的时长,以免第一天就迟到. 3. 问清楚入职流程,去到是找部门经理还是找带你的那个人. 4. 需要带什么东西.如果你没问,建议你带好: ×××.×××复印件.公司要求的银行卡.银行卡复印件. 学生证.学生证复印件.三方协议.体检报告 (如果有其他特殊要求自行添加物品) OK,现在开始我们假设你以及入职了,领取了自己的电脑(笔记本or台式),如果有其他情况

Java后端程序员1年工作经验总结

java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼.遂决定梳理一下自己所学的东西,为大家分享一下. 经过一年意识到以前也有很多认识误区,比如: 偏爱收集,经常收集各种资料视频塞满一个个硬盘,然后心满意足的看着容量不行动. 不重基础,总觉得很多基础东西不需要再看了,其实不懂的地方很多,计算机程序方面任何一个结果都必有原因

Java后端开发从初学者玩成大牛的学习路线

如果你是在校学生,务必要在学好基础(比如计算机系统.算法.编译原理等等)的前提下,再考虑去进行下面的学习.第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 一.Java基础首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应的视频.学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试.学完以上内容以后,你应该对Java有一个基本的了解了,你可以用

Java开源生鲜电商平台-Java后端生成Token架构与设计详解(源码可下载)

Java开源生鲜电商平台-Java后端生成Token架构与设计详解(源码可下载) 目的:Java开源生鲜电商平台-Java后端生成Token目的是为了用于校验客户端,防止重复提交. 技术选型:用开源的JWT架构. 1.概述:在web项目中,服务端和前端经常需要交互数据,有的时候由于网络相应慢,客户端在提交某些敏感数据(比如按照正常的业务逻辑,此份数据只能保存一份)时,如果前端多次点击提交按钮会导致提交多份数据,这种情况我们是要防止发生的. 2.解决方法: ①前端处理:在提交之后通过js立即将按钮

初入前端,面对一个项目应注意哪些?

前言: 对于初入职场的前端小白来说,一整个项目来了,顿时感觉压力山大,张皇失措,也总会感到手忙脚乱.其实不用怕,拆分步骤,把每个步骤做好,做细,一切都迎刃而解,犹如顺藤摸瓜般畅快淋漓. 目录: 概念的介绍(可略) 项目分哪几个阶段(每个阶段注意什么) 如何排期 解决问题的方法 概念的介绍: PM(产品经理)负责需求的提出和项目的引导.PM根据产品特点和发展目标提出一定的需求,并协调各方资源投入开发.若需求层面有不清晰的地方,应当向PM沟通确认,如:需要做什么.希望达到什么效果.哪些内容应重点保证

从app上传图片到php,再上传到java后端服务器的方法一览

在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依葫芦画瓢就行了. 好好了解下图片上传(文件上传)的方式,对于认知的提升还是有好处的.而且说不定哪天你就有个这样的需求呢,这里是一条龙上传. 本文就一个从app到php层,再到java层的流程,演译下整个上传图片的流程吧. 一.app端获取用户选择的图片,转化为输入流,上传至php前端接口: pack

初入京都的回想

北京,一个都市繁华的高新产业聚集地,我也就这样的来了.为了我的前端梦想. -----小飒的成长史 2012年 自从2012年进入软件工作室的那一刻起,我的生活就发生了与好友截然不同的状态.想想也觉得很神奇,大一一结束就进入一个软件工作室,这个工作室很励志,自然它叫励志工作室.进入工作室的第一项内容就是接触培训,菜鸟就是菜鸟,培训的学长学姐们说什么都是那张目瞪口呆的听着,似懂非懂,却也听的如此着迷.当时的崇拜感,现在想想也是异常激动. 头两个星期除了看基础视频,就是大家不停的通过八哥打字员这个软件

Head First 之 Design Pattern(一):Strategy Pattern &amp;&amp; 初入设计模式殿堂

头一回阅读<Head First 设计模式>,感觉语言生动形象,把一个个抽象的模式描述的浅显易懂,就像白话文一样. 正如作者推荐如何使用这本书. 你懂Java吗(不太懂... 会C++不影响吧)? 你想学习.了解.记得并应用设计模式,以及其所基于的OO设计原则吗(是的,我正在深入学习C++呢)? 你是不是更喜欢一种轻松愉悦的学习环境(absolutely)? 这本书正是我需要的~   "Head First"就是那些不断学习的人们,像他们致敬,共勉加油~ 使用设计模式最好的

java基础--jsp/servlet

后端:servlet  jsp 前后端:ajax 一定要使用自定义协议 TCP/IP: 1    封包 :有可能分为多个包发送hello world 2   粘包:接收方接到后粘包,可能会出错 helloworld  hello world c/s 客户控件GUI-->调用通讯模块-->打包(按照自定义协议将数据封装成一个数据包)-->向业务通讯模块发送请求-->业务通讯模块进行拆包-->通讯模块调用业务-->业务访问DB数据库-->业务模块返回处理结果到通讯--