import  导入    在当前类中使用外包中的类时使用

cookies 缓存

Alt + enter 提示快捷键

Servlet 服务  (连接前段和后端)

Servlet本质就是Java类

  Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和   HTTP 服务器上的数据库或应用程序之间的中间层。

  使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

  登录界面使用的是表单技术,现将其交互给后端

  在Java程序中,不是基本类型的剩下的都是引用类型的。 (String字符串也是(类 首字母大写))

 其中的格式:

  eg: import javax.servlet.Servlet;  //  import 包名 + 类名

 命名规范: 

   1.对于类名,变量名等标识符 组成部分: 数字 , 字母 , $ ,下划线(去看类名) 只有这四种其他都不行
                    在包命名时 , 可以用符号“.”这个点就相当于“/”是目录分割符
                2.命名不能以数字开头
                3.不能由关键字来命名 如:int 但是标识符可以包含关键字 如:int_a
                4.对于类名来说首字母规范是大写的,其他一般小写
                5.命名时,如果该标识符有多个单词组成,我们一般在后端服务程序中采用驼峰命名法。
                    后面的单词每个单词首字母大写。
                6.见名知意 名字太长了,采用通用的缩写形式

java后台基本格式注释

  1. HttpServletResponse response = (HttpServletResponse) servletResponse;
  2.  
  3. 强制转换 左边是小范围的数据类型 变量名 = (小范围的数据类型)变量值;
  4.  
  5. 对于引用类型来说,前提条件是等号两边前后的数据类型是有继承关系(父子关系)
  6.  
  7. int a = (int) 646121651;//跟上边模式基本一样
  8.  
  9. int int_a = 132;//再次强调int等关键词不能单独成为命名
  10.  
  11. response . setCharacterEncoding("UTF-8");//设置编码字符集
  12.  
  13. response.setContentType("text/html;charset=UTF-8");//防止中文乱码
  14. response 通过响应setContentType设置响应类型text/html设置相应类型为文本html
  15.  
  16. response . getWriter() .write( "Servlet 很厉害");// I0流 input output 写出
  17. response . getWriter() //具备可以往程序外写内容的功能
  18. response 通过响应 getWriter 写出 write
  19.  
  20. http://localhost:8080/day9/hello
  21. hello 请求后端服务器的资源路径
  22. @WebServlet("/hello")
  23. hello url路径映射
  24. hello --> 映射到HelloServlet
  25. HelloServlet --> 加载service()功能(方法)
  26. service() ---> response.getWriter().writer("Servlet很厉害");
  27. @WebServlet("/请求资源路径")
  28. web.xml配置的请求资源路径二者选其一
  29. 当两个都配置的时候,服务器是无法启动的。
  30. 500就是指后端的服务器代码有异常或者是错误
  31. 400/402 客户端问题 请求资源找不到

  网站名域名注释:

  1. http://localhost:8080/day9/hello
  2. 组成部分:网络协议://域名(服务器名 》备案(ip + 域名)):端口号(8080)/部署在服务器上的虚拟目录/请求资源路径?name=张三&password=123456
  3.  
  4. 域名是自定义的 idea的默认端口号63342 每个软件都有自己的端口号 name=张三&password=123456 请求资源路径携带的请求参数
  5.  
  6. ?是分割前面的请求资源路径和后面的参数
  7.  
  8. 如果请求参数有多个的话,用“&”连接
  9. 部署在服务器上的虚拟目录hello
  10. 如果没有端口号:说明他用的端口号是80 80可以不写)
  11. servlet-class标记中,里面需要填写类(全路径:包名+类名)全先定类名

登录页面例题:

前台显示:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <!--页面标题-->
  6. <title>登录页面</title>
  7. </head>
  8. <body>
  9. <!-- <form> 表单 录入数据,把数据传输给后端服务器
  10. action:执行url动作 请求的资源路径
  11. <input>标记是form表单标记中的一个高频使用的标记
  12. input 标记中type=submit 表达的是 想把from表单中的所有数据打包成from 形式提交给后端服务器
  13. 如果type=button 那么该按钮就是一个简单的普通按钮,具备鼠标点击的功能
  14. -->
  15. <form action="login">
  16. <!--输入框 input 行标签 不能设置宽与高,不独占一行 为什么登录不用name
  17. type 格式,(在这里是选择格式) text 是文本类型 password 是密码,口令 submit 递交登陆 这三个都是固定格式
  18. name赋名 value 赋名 placeholder 占位符(只显示,不占位置)
  19. -->
  20. <input type="text" name="username" placeholder="用户名/邮箱/手机号"><br>
  21. <input type="password" name="password" placeholder><br>
  22. <input type="submit" value="登录" ><br>
  23. <!--超链接 <a> 制定跳转的资源路径href -->
  24. <a href="zuoye.html">忘记密码</a>
  25.  
  26. </form>
  27. </body>
  28. </html>

后台编码:

  1. package com.zhiyou100;
  2.  
  3. import javax.servlet.*;
  4. import javax.servlet.annotation.WebServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.IOException;
  8. @WebServlet("/login")
  9. public class loginServlet implements Servlet {
  10.  
  11. @Override
  12. public void init(ServletConfig servletConfig) throws ServletException {
  13.  
  14. }
  15.  
  16. @Override
  17. public ServletConfig getServletConfig() {
  18. return null;
  19. }
  20.  
  21. @Override
  22. public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
  23. //转换成可支持Http协议的类
  24. HttpServletRequest request = (HttpServletRequest) servletRequest;
  25. HttpServletResponse response = (HttpServletResponse) servletResponse;
  26. //设置可以接受带中文的文本信息 getParameter(“参数名称”)如果是表单参数 通过name属性值
  27. request.setCharacterEncoding("UTF-8");
  28. //设置可以相应给浏览器客户端支持的中文文本信息
  29. response.setContentType("text/html;charset=UTF-8");
  30. //凡是客户端提交的参数值,一般情况下
  31. String username = request.getParameter("username");
  32. String password = request.getParameter("password");
  33. //假定 你的用户名是张三 密码123456
  34. if (username.equals( "张三") && password.equals("123456")){//==换成equals()
  35. //表明用户名和密码都正确
  36. //恭喜你登陆成功!
  37. response.getWriter().write("恭喜你登陆成功!");
  38.  
  39. }else{
  40. //您的用户名不正确,请重新登陆
  41. response.getWriter().write("您的用户名不正确,请重新登陆");
  42. }
  43.  
  44. }
  45.  
  46. @Override
  47. public String getServletInfo() {
  48. return null;
  49. }
  50.  
  51. @Override
  52. public void destroy() {
  53.  
  54. }
  55. }

  

09 Servlet中间服务 连接前段和后端的更多相关文章

  1. SSH服务连接

    SSH基本概述 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输.确保了数据传输安全. SSH服务 ssh: secure shell, protocol, 22/ ...

  2. 【Elasticsearch】【WEB】java web服务连接es elasticsearch始终报错,无法正常连接使用的错误解决历程

    前情提要: web服务往华为云上迁移 ================内网的好环境,相关配置=================== 1.web服务关于ES的集群配置如下: elasticAddress ...

  3. Linux下部署ASP.NET服务连接oracle遇到的问题记录

    一.如何卸载MONO Q:mono是linux系统上跨平台软件,卸载它有两种方式: 1.知道mono安装路径,安装原来的路径直接覆盖安装(最为简单): 2.不知道mono安装路径,首先通过sudo f ...

  4. ArcGIS SDE 10.1 for Postgresql 服务连接配置

    去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...

  5. PS用户配置服务连接出错

    PS用户配置服务连接出错 [2019-07-30 14:58:25.475]-[INFO ]-[xxxx.profileserver.service.ProfileServerImpl:1430][1 ...

  6. idea启动服务连接mysql后 Navicat连接mysql就报错2013-Lost connection toMySQL server at

    我是使用navicat的windows端 连接centos下mysql服务器 第一次常规连接mysql正常,idea启动服务连接mysql后 Navicat连接mysql就报错2013-Lost co ...

  7. 抽取一部分服务端做BFF(Backend For Frontend服务于前端的后端)

    Flutter+Serverless端到端研发架构实践 · 语雀 https://www.yuque.com/xytech/flutter/kdk9xc 2019-12-19 13:14 作者:闲鱼技 ...

  8. 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口

    在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为go ...

  9. Openstack入门篇(十八)之Cinder服务-->使用NFS作为后端存储

    1.安装cinder-volume组件以及nfs [root@linux-node2 ~]# yum install -y openstack-cinder python-keystone [root ...

随机推荐

  1. 谁说ParameterMap只能读不能写?

    开发过javaweb项目的同学,应该都接触过ServeltRequest吧?ServletRequest接口中有一个方法叫做getParameterMap(),他会返回一个Map<String, ...

  2. SpringMVC参数返回给页面

    springMVC将后台参数返回给前台页面 方法一:利用ModelAndView返回值 1 @RequestMapping("/returnPage.do") 2 public M ...

  3. Python-禅

    Python特点 1. 面向对象解释性编程语言 2. 简洁.优雅的编码风格 3. 跨平台 windows MacOS Linux 4. 丰富的标准库和第三方库 什么是编程? 解决现实中问题 什么是面向 ...

  4. 1. Spring Boot入门

    1.Spring Boot简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 优点: – 快速创建独立运行的Spring项目以及与主流框架集成 ...

  5. 【题解】CF375D Tree and Queries

    Link \(\text{Solution:}\) 讲实话这题有点烦,不知道为啥改了下\(\text{dfs}\)就过了--原版本\(dfs\)好像没啥错啊-- 其实对于子树问题,我们求出原来树的\( ...

  6. shiro入门学习--授权(Authorization)|筑基初期

    写在前面 经过前面的学习,我们了解了shiro中的认证流程,并且学会了如何通过自定义Realm实现应用程序的用户认证.在这篇文章当中,我们将学习shiro中的授权流程. 授权概述 这里的授权指的是授予 ...

  7. Java中的对象都是在堆上分配的吗?

    作者:LittleMagic https://www.jianshu.com/p/8377e09971b8 为了防止歧义,可以换个说法: Java对象实例和数组元素都是在堆上分配内存的吗? 答:不一定 ...

  8. ASP。使用依赖注入的asp.net Core 2.0用户角色库动态菜单管理

    下载source code - 2.2 MB 介绍 在开始这篇文章之前,请阅读我的前一篇文章: 开始使用ASP.NET Core 2.0身份和角色管理 在上一篇文章中,我们详细讨论了如何使用ASP.N ...

  9. TP5隐藏入口文件

    1,进入根目录,打开public文件夹,里面有个.htaccess文件 2,将这段代码改成?s= 3,不修改该文件,想要隐藏入口文件则会报错 4,改了文件之后是 5,改了入口文件为了隐藏  .php

  10. S3C6410触摸屏驱动分析

    一. device的注册1.0 两个注册//在smdk6410_machine_init中既注册了touchscreen的私有信息也注册了ts资源 1 在arch/arm/mach-s3c64xx/m ...