JavaWEB-Servlet接受前端数据和向前端传数据

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

更多可见个人博客

目录

这里以一个登录页面和一个展示登录的用户数据的页面,都是采用的JSP实现。解决了中文乱码问题。

JavaBean

package com.tothefor.Three18;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author DragonOne
 * @Date 2022/3/18 17:18
 * @墨水记忆 www.tothefor.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
    private String username;
    private String password;
}

Servlet

package com.tothefor.Three18;

import javax.servlet.ServletContext;
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;

/**
 * @Author DragonOne
 * @Date 2022/3/18 17:36
 * @墨水记忆 www.tothefor.com
 */
@WebServlet("/userJSP")
public class UserController extends HttpServlet {


    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
        resp.setHeader("Content-type","text/html;charset=UTF-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        User ser = new User();
        ser.setUsername(username);
        ser.setPassword(password);
      //把注册成功的用户对象保存在session中
        req.getSession().setAttribute("user",ser);
      //跳转到注册成功页面-> userJSP.jsp,同时传递这request 和 response 对象
        req.getRequestDispatcher("userJSP.jsp").forward(req,resp);
    }

    /**
     * @Author DragonOne
     * @Date 2022/3/15
     * @墨水记忆 www.tothefor.com
     * @方法名称 doPost
     * @方法描述 Post请求
     * @参数说明
     * @返回值
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, ServletException, IOException {
        doGet(req,resp);
    }
}

loginJSP.jsp

用来获取数据。

<%--
  Created by IntelliJ IDEA.
  User: dragonone
  Date: 2022/3/18
  Time: 19:05
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Login


用户名:
密 码:

userJSP.jsp

用户展示数据。

<%@ page import="com.tothefor.Three18.User" %><%--
  Created by IntelliJ IDEA.
  User: dragonone
  Date: 2022/3/18
  Time: 17:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    User


数据展示

用户名:

密码:

解释


用于来获取 Bean 对象 user。注意这个 id 必须是 Servlet类中setAttribute("user",ser); 中的键。

  • scope="session" 表示这个对象是 session 级别。

  • class="com.tothefor.Three18.User" 表明这个对象的类的全限定名称。

  • 这个就是输出这个Bean 对象的一些属性值。name 就是 useBean 中的 idproperty 就是 Bean 中的属性。

你可能感兴趣的:(JavaWEB,java)