您的位置 首页 java

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

一. HttpServletRequest 准备

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

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

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

二. Request 实战

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

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

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

 <?xml version="1.0" encoding=" utf -8"?>
<web-app xmlns="#34;
         xmlns:xsi="#34;
         xsi:schemaLocation="
                      #34;
         version="4.0"
         metadata-complete="true">
  <display-name>Archetype Created Web Application</display-name>
</web-app>  

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

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

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

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

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

 <servlet>
    <servlet-name>loginservlet</servlet-name>
    <servlet-class>com.gowork.servlet.loginservlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>loginservlet</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>  

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

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

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

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

提交到我们的/login请求。

 <form action="${pageContext.request.contextPath}/login" method="post">  

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

 用户名:<input type="text" name="username"> <br>
        密码:<input type="password" name="password"> <br>
        我是:
        <input type="checkbox" name="yu"> 上进小菜猪
        <input type="checkbox" name="yu"> 菜猪
        <input type="checkbox" name="yu"> 小菜
        <input type="checkbox" name="yu"> 小猪  

写一下提交按钮:

 <input type="submit">  

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

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

 <html>
<body>
<h2>登录成功</h2>
</body>
</html>  

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 的启动目标项目路径。

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

2.1 编码乱码处理

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

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

方法二:后端设置编码:

在java后端添加 字符编码

 resp.setCharacterEncoding("utf-8");  

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

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

2.2 启动项目检验结果

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

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

后台输出:

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

来源:

文章来源:智云一二三科技

文章标题:Request之登录系统跳转应用以及原理详解「JavaWeb」

文章地址:https://www.zhihuclub.com/168872.shtml

关于作者: 智云科技

热门文章

网站地图