前端发送post请求,如何跟后端交互

假如,现在我做了一个给用户使用的html页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<h1>helloPost!</h1>

<body>

<form method="post" action="SelectBeer.do">
    <p>Select beer</p>
    <select name="color" size="1">
        <option value="light"> light</option>
        <option value="amber"> amber</option>
        <option value="brown"> brown</option>
        <option value="dark"> dark</option>
    </select>
    <center>
        <input type="submit">
    </center>
</form>>
</body>
</html>
<form method="post" action="SelectBeer.do"> 中的SelectBeer.do有点像资源名。最终会被http:/127.0.0.1:8080/文件名/SelectBeer.do 的形式访问到。

这是我又写了后台servlet程序,实现了get,post的方法:
package com.example.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Time;

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 HelloWorld2
 */
@WebServlet("/HelloWorld2")
public class HelloWorld2 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor.
     */
    public HelloWorld2() {
        // TODO Auto-generated constructor stub

    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    @SuppressWarnings("deprecation")
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter out = response.getWriter();
        //out.print("helloWorld");

        //String outPut=request.getParameter("input");
        out.print(request);
        System.out.println(request);

        String c = request.getParameter("color");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("Beer Selection Advice<br>");
        String c = request.getParameter("color");
        out.println("<br> Got beer color"+c);

        System.out.println(c);

    }

}

把html放到servlet目录下,发现前后端无法通信。

这时还需要在web.xml下进行设置。

      <servlet>
          <servlet-name>123123</servlet-name>
          <servlet-class>com.example.web.HelloWorld2</servlet-class>
      </servlet>

    <servlet-mapping>
        <servlet-name>123123</servlet-name>
        <url-pattern>/SelectBeer.do</url-pattern>
    </servlet-mapping>    
servlet:可以自己设置servlet的资源名字, 然后写上对应的servlet类名
servlet-mapping:自己的servlet与资源的映射关系

发送Post请求:

返回:

发送get请求:参考:head first,servlet & jsp
				
时间: 2024-10-07 13:28:22

前端发送post请求,如何跟后端交互的相关文章

前端发送并发请求思路

下面试ts简单写的思路代码 enum Statu { plain, plianing, error, ready, } // 并发数 class Parallel { num; files = [] as any[]; PARALLEL_NUM = 0; async filesErrorTips () { // doto } async send (index: number) { if (!this.files[index]) return; if (this.files[index].Sta

跨越请求,关于后端session会话丢失的解决办法(转载)

目前使用前后端分离的模式开发,后端提供跨域接口.前端jsonp调用,绑定数据,但是在该站点下有个人中心模块存在的情况下,服务端的session会话会被跨域请求覆盖改掉 大家都知道tomcat使用cookie中jsessionid来区分客户端session会话 跨域请求接口恰恰有时候响应回来回改变该站点下的jsessionid值,导致服务器每次判断都是一个新的会话 以网站个人中心模块来说,每一个跨域jsonp请求,都会Response 一个cookie值,SET-COOKIE:JSESSIONID

前后端交互,后端与后端交互中文乱码

前端工程师,当你和后端的文件都是以UTF-8的编码,但是后台大哥告诉你,中文是乱码的,然后你百度了半天,给jQuery.ajax设置了contentType: "application/x-www-form-urlencoded; charset=UTF-8", 但是却并没有卵用,后端告诉你,传过去的字符串都是GBK编码,项目期限快到了,所有人都怀疑是你的问题时.你会想到什么? 我分享一下我的故事.其实主要是讲一下这个BUG如何怎么解决的.我是一个前端工程师,接受了一个项目,处于安全考

iOS 前端和后端交互 get请求 post请求

get请求: 把我们想要获取的用户名和密码加到url后面,发送request请求到服务器,服务器去验证它(数据库)有没有相同的用户名和密码 -(void) getRequest { //第一步,创建URL NSURL *url = [NSURLURLWithString:@"http://192.168.99.17:8888/loginDome/foregroundAction!login?userName=admin&password=admin"]; //第二步,通过URL

写给刚入门的前端工程师的前后端交互指南

转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据.毕竟,我们要构建一个大的web应用,必然不是普普通通的静态页面构成. 下文将罗列将来前端工程师应该必备的同后端打交道的常用技能. 服务端渲染 谈起服务端渲染,对于动态服务而言,这个世界上跑的大多数页面都经历过服务端的数据渲染,接口->前端赋值->模版渲染 .这一切都在服务器完成,我们查看源码时候

echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端

1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小demo的效果图如下:(很熟悉,有没有) 2.按照echarts的使用方法新建一个echarts.html文件.为ECharts准备一个具备大小(宽高)的Dom(讲的有点细,熟悉的朋友直接跳过) <!DOCTYPE html> <head> <meta charset="u

前端跨域及前后端交互验证

JWT Json Web Token,是一个token的加密处理方式 是目前阶段比较流行的一种token处理方式 http请求是无状态的,为了保证多次请求之间的状态数据 ,可以使用token或者cookie的方式来传递用户状态 不同域名之间发送的请求 可以在ajax中设置withCreadentials来保存cookie数据, 同时需要指定服务器端cors的源不为"\*" 配置项 withCreadentials为true 跨域问题 前端无法解决跨域, 可以通过服务器端添加带来服务器做

Ajax 直接发送 PUT 请求,后端无法接收到数据的原因及解决方案

一.问题描述: 使用 Ajax 直接发送 PUT 请求,但 Spring MVC 封装的对象中,除过 URI 中带有的 id 字段被成功封装,请求体中的数据没有被封装到对象中. 通过测试,前端传来的请求体中有数据:通过 HttpServletRequest 对象,使用 request.getParameter() 方法却也获取不到数据 二.解决方案: 在 web.xml 中添加 HttpPutFormContentFilter 过滤器,原理向下看: 1 <filter> 2 <filte

窗口 - dialog - 与后端交互

与后端交互,一般需要提交表单数据,所以,这次渲染得dialog其实是一个<form> <form id="loginForm"> <table align="center"> <tr> <th align="right">用户名</th> <td> <input type="text" name="username"/