返回

Request之登录系统跳转应用以及原理详解【JavaWeb】

发布时间:2022-09-23 04:15:25 20
# 前端# java# webapp# 服务器# 信息

一.HttpServletRequest准备

HttpServletRequest:客户端的请求,可以获得客户端的所有信息。

通过HTTP访问到我们的服务器,请求中的所有信息都会封装到HttpServletRequest中。

image-20220820152102914

我们的req.getParameter();可以返回一个。而req.getParameterValues()可以返回多个。

image-20220820152847986

二.Request实战

  1. 新建maven工程,工程名为requestservlet,模板我们选择webapp模板,点击创建。

    image-20220820153131312

2.得到如下目录结构,没有java和resoures的可以新建。记得标记root类型。

image-20220820153343795

3.替换web.xml引用信息:



  Archetype Created Web Application


4.在java文件目录下新建接口:com.gowork.servlet。

5.在com.gowork.servlet接口下新建方法,方法名为:loginservlet。

6.在loginservlet类方法下,继承HttpServlet。

7.重写doGet和doPost方法。我们这次尝试使用doPost方法。

8.到web.xml里注册url和映射url。


    loginservlet
    com.gowork.servlet.loginservlet



    loginservlet
    /login

9.写前端页面:打开index.jsp。

我们添加页头,设置页面编码为utf-8.

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

10.我们写一个提交表单,这次我们采用post方式来提交表单。

提交到我们的/login请求。

设置用户名,密码,和我是,我是采用复选框:

用户名: 
密码:
我是: 上进小菜猪 菜猪 小菜 小猪

写一下提交按钮:


${pageContext.request.contextPath}代表我们当前项目的路径。

11.到webapp目录下,增加一个跳转成功的页面:success.jsp。



登录成功

12.我们上文有说过,getParameter是获取单个的值,因为上面有用户名和密码是俩好单个的,所以我现在这里写俩个getParameter,分别获取用户名和密码。

req.getParameter("username");
req.getParameter("password");

13.因为我们有多选框,我们采用getParameterValues来获取:

 String[] yus = req.getParameterValues("yu");

14.输出用户名,密码和我是三个选项的值。

System.out.println(user);
System.out.println(pass);
System.out.println(Arrays.toString(yus));

15.记得更换tomcat的启动目标项目路径。

image-20220820162626868

16.启动项目,首页可以得到下图:

image-20220820162724286

2.1 编码乱码处理

image-20220820163722307

我们在开发过程中时常遇到如上的乱码。

方法一:使用编码插件,将前端内容强制转换为utf-8:

image-20220820163823666

方法二:后端设置编码:

在java后端添加字符编码。

resp.setCharacterEncoding("utf-8");

或者在前端jsp页面,添加:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

2.2 启动项目检验结果

启动项目之后,访问首页:

image-20220820170406428

如上选项,提交,跳转到login页面:

image-20220820170428058

后台输出:

image-20220820170442066

后台输出没有问题。我们选择了上进小菜猪,菜猪,小猪,所以最后的数组输出124。

image-20220820170506791

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Spring Boot要如何学习? 2022-09-23 03:56:35