11get&post&servlet接值&表单提交

只谈情不闲聊 提交于 2020-01-07 21:55:42

(接webok项目)

1 pom.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>webok</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>



  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>13</maven.compiler.source>
    <maven.compiler.target>13</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
<!--    加载mysql驱动-->
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.18</version>
    </dependency>

  </dependencies>
<build>
  <finalName>${project.artifactId}</finalName>
  <testOutputDirectory>src/test/java</testOutputDirectory>
  <sourceDirectory>src/main/java</sourceDirectory>
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.xml</include>
        <include>**/*.properties</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
      <includes>
        <include>**/*.xml</include>
        <include>**/*.properties</include>
      </includes>
    </resource>
  </resources>
</build>
</project>

在这里插入图片描述
在这里插入图片描述

-----------------------三种请求方式-----------------------------

web项目两大对象
HttpServletRequest 请求对象  get post
HttpServletResponse 响应对象
  
  
package org.example.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Save extends HttpServlet {
//    doget,回车
//    用于网址,链接
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }
    //    dopost,回车
//    用于表单提交数据,文件上传
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
//ser 回车
//    一旦有servlet,上面两个会失效,上面两个为一套,这个为一套
//    @Override
//    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.service(req, resp);
//    }
}

Hello.java


package org.example.servlet;

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;


@WebServlet("/hello")
//添加注解
public class Hello extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        PrintWriter out = resp.getWriter();
        out.print("<!DOCTYPE html>");
        out.print("<html lang=\"zh-CN\">");
        out.print(String.format("<h3>%s</h3>","GET Hello World"));
        out.print("</html>");

        out.flush();
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doPost(req, resp);
      //解决乱码问题
--------resp.setCharacterEncoding("utf-8");-----------------------
      
        PrintWriter out = resp.getWriter();
        out.print("<!DOCTYPE html>");
        out.print("<html lang=\"zh-CN\">");
        out.print("<meta charset=\"utf-8\">");
        out.print(String.format("<h3>%s</h3>","Post 请求"));
        out.print("</html>");

        out.flush();
        out.close();
    }
}

Save.java

//servlet请求
  
package org.example.servlet;

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;
@WebServlet("/save")
public class Save extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.service(req, resp);
        resp.setCharacterEncoding("utf-8");
        PrintWriter out = resp.getWriter();
        out.print("<!DOCTYPE html>");
        out.print("<html lang=\"zh-CN\">");
        out.print("<meta charset=\"utf-8\">");
        out.print(req.getMethod());
        out.print("<br>");

//        接值

//        解决乱码问题
        if ("POST".equals(req.getMethod())){
            req.setCharacterEncoding("utf-8");
        }

        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        out.print(String.format("<h3>欢迎:%s,你的年龄是:%d岁。</h3>", name,age));
        out.print("</html>");

        out.flush();
        out.close();

    }
}

index.jsp


<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%--防止出现乱码--%>
<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="UTF-8" %>

<html>

<head>
    <meta charset="utf-8">
    <title>我的项目</title>
</head>
<body>
  
<h3>会员登录</h3>
<form action="save" method="post">
<%--    save中接的值是name,age因此这里要填name,age--%>
    <input type="text" name="name" placeholder="姓名" autofocus><br>
    <input type="text" name="age" placeholder="年龄">
    <input type="submit" value="提交">
</form>

  
<h3>get</h3>
<a href="save?name=大黄蜂&age=90000">保存</a>


<h3>post</h3>
<form action="hello" method="post">
    <input type="submit" value="post">
</form>

<h2>Hello World!</h2>

<%=2*3%>
<h3>学生信息,下面是数据库中的数据</h3>
<%
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?user=root&serverTimezone=PRC");
    PreparedStatement pst = conn.prepareStatement("select *from student");
    ResultSet rs = pst.executeQuery();
    while (rs.next()){
        out.print(rs.getInt(1) + rs.getString(2) + "<br>");
    }
    rs.close();
    pst.close();
    conn.close();
%>
</body>
</html>

ment pst = conn.prepareStatement(“select *from student”);
ResultSet rs = pst.executeQuery();
while (rs.next()){
out.print(rs.getInt(1) + rs.getString(2) + “
”);
}
rs.close();
pst.close();
conn.close();
%>


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!