当前位置: 首页 > wzjs >正文

jsp网站开发存在的问题网站推广和seo

jsp网站开发存在的问题,网站推广和seo,php网站开发小程序,ubuntu 部署wordpress目录 servlet 是什么 servlet 生命周期 init() 方法 service() 方法 doGet() 方法 doPost() 方法 destroy() 方法 生命周期架构图 一个小案例 传递表单数据 Get 请求 Post 请求 HTTP 请求 HTTP 头的方法 HTTP 响应的方法 servlet 是什么 Java Servlet 是运行在 W…

目录

servlet 是什么

servlet 生命周期

init() 方法

service() 方法

doGet() 方法

doPost() 方法

destroy() 方法

生命周期架构图

一个小案例

传递表单数据

Get 请求

Post 请求

HTTP 请求

HTTP 头的方法

HTTP 响应的方法


servlet 是什么

Java Servlet 是运行在 Web 服务器或应用服务器上的程序

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

servelet 为创建基于 web 的应用程序提供了基于组件 独立于平台的方法

servelet 有权限访问所有的 Java API 包括 JDBC 相关

servlet 生命周期

init() 方法

Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。

当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。

service() 方法

service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

service() 方法由容器调用,service 方法在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。所以,您不用对 service() 方法做任何动作,您只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。

doGet() 和 doPost() 方法是每次服务请求中最常用的方法。下面是这两种方法的特征。

doGet() 方法

处理 get 请求

doPost() 方法

处理 post 请求

destroy() 方法

servlet 对象被标记为垃圾回收

生命周期架构图

一个小案例

// 导入必需的 java 库import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {private String message;public void init() throws ServletException {// 执行必需的初始化message = "Hello World";}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("<h1>" + message + "</h1>");}public void destroy() {// 什么也不做// servlet对象被标记为回收}
}

web.xml 配置文件

<web-app>      <servlet><servlet-name>HelloWorld</servlet-name><servlet-class>HelloWorld</servlet-class></servlet><servlet-mapping><servlet-name>HelloWorld</servlet-name><url-pattern>/HelloWorld</url-pattern></servlet-mapping>
</web-app>  

浏览器只需要通过 Tomcat 服务器地址的 HelloWorld 路径就可以直接访问

web.xml 配置文件后来变形成了@WebServlet 注解

传递表单数据

GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔,如下所示:

http://www.test.com/hello?key1=value1&key2=value2

GET 方法是默认的从浏览器向 Web 服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中。如果您要向服务器传递的是密码或其他的敏感信息,请不要使用 GET 方法。GET 方法有大小限制:请求字符串中最多只能有 1024 个字符。

这些信息使用 QUERY_STRING 头传递,并可以通过 QUERY_STRING 环境变量访问,Servlet 使用 doGet() 方法处理这种类型的请求。

另一个向后台程序传递信息的比较可靠的方法是 POST 方法。POST 方法打包信息的方式与 GET 方法基本相同,但是 POST 方法不是把信息作为 URL 中 ? 字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息。消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。Servlet 使用 doPost() 方法处理这种类型的请求。

Get 请求

package com.runoob.test;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class HelloForm*/
@WebServlet("/HelloForm")
public class HelloForm extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public HelloForm() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置响应内容类型response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String title = "使用 GET 方法读取表单数据";// 处理中文String name =new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");String docType = "<!DOCTYPE html> \n";out.println(docType +"<html>\n" +"<head><title>" + title + "</title></head>\n" +"<body bgcolor=\"#f0f0f0\">\n" +"<h1 align=\"center\">" + title + "</h1>\n" +"<ul>\n" +"  <li><b>站点名</b>:"+ name + "\n" +"  <li><b>网址</b>:"+ request.getParameter("url") + "\n" +"</ul>\n" +"</body></html>");}// 处理 POST 方法请求的方法public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

Post 请求

import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class HelloForm*/
@WebServlet("/HelloForm")
public class HelloFormPost extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public HelloFormPost() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置响应内容类型response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String title = "使用 POST 方法读取表单数据";// 处理中文String name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");String docType = "<!DOCTYPE html> \n";out.println(docType +"<html>\n" +"<head><title>" + title + "</title></head>\n" +"<body bgcolor=\"#f0f0f0\">\n" +"<h1 align=\"center\">" + title + "</h1>\n" +"<ul>\n" +"  <li><b>站点名</b>:"+ name + "\n" +"  <li><b>网址</b>:"+ request.getParameter("url") + "\n" +"</ul>\n" +"</body></html>");}// 处理 POST 方法请求的方法public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

HTTP 请求

首先我们温习一下这张图

当浏览器请求网页的时候

会向 web 服务器发送特定信息

作为 HTTP 请求的头的一部分进行传输

这些是请求头里面的具体信息

HTTP 头的方法

Servlet 客户端 HTTP 请求 | 菜鸟教程

通过HttpServletRequest 对象使用

HTTP 响应的方法

当一个 Web 服务器响应一个 HTTP 请求时,

响应通常包括

一个状态行、

一些响应报头、

一个空行和文档。

这些方法通过 HttpServletResponse 对象可用。

http://www.dtcms.com/wzjs/214164.html

相关文章:

  • 免费源码html网站查询网站流量
  • 新闻网站怎样做seo优化用手机制作自己的网站
  • 网站怎么做视频的软件百度推广广告公司
  • 苹果电脑网站开发网站设计流程
  • 长葛网站建设正规电商平台有哪些
  • 一流的网站建设推广爱站网站排行榜
  • 建网站一定要备案吗郑州互联网公司排名
  • 做药物分析常用网站chatgpt中文在线
  • 只用ip做网站 不备案惠州网络推广平台
  • 黄骅港矿石码头网站seo综合诊断
  • 快站免费网站建设哪家好百度应用搜索
  • 360建筑网挂靠官网忘了密码抖音关键词优化排名靠前
  • css美化网站百度广告收费
  • 学建站论坛每日新闻快报
  • 个人备案的网站 做企业站百度一下你知道主页官网
  • 网站制作的优化网站排名方法教程
  • 网站广告位微信营销软件排行榜
  • 重庆给商家企业做网站seo快速排名软件
  • 第三方wordpress安卓客户端盐城seo培训
  • 网站建设需要的软件站长网站优化公司
  • 中国有几大网站seo推广优势
  • 番禺网站建设制作免费站推广网站2022
  • 全国水利建设监管服务平台网站百度框架户开户渠道代理
  • 做网站工作图百度旧版本
  • 武汉企业黄页大全产品seo优化
  • html用什么编译器编写南宁网站seo
  • 知乎代运营什么是seo关键词
  • 佛山网站推广经理seo培训学校
  • dw手机网站建设一呼百应推广平台
  • 微信小程序平台入口seo合作