jsp实现表单提交跳转「建议收藏」

jsp实现表单提交跳转「建议收藏」页面介绍login.jsp用户登录页面,提交给process.jsp。process.jsp处理页面,若用户名为“admin”,密码为“000”,则跳转到show.jsp,否则跳转login.jsp。show.jsp列出登录页面的属性。源代码login.jsp<formaction=”process.jsp”method=”post”>…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

页面介绍

login.jsp

用户登录页面,提交给process.jsp。

process.jsp

处理页面,若用户名为“admin”,密码为“000”,则跳转到show.jsp,否则跳转login.jsp。

show.jsp

列出登录页面的属性。

 

源代码

login.jsp

<form action="process.jsp" method="post">
  用户名:<input name="username" value="" /><br>
  用户密码:<input name="pwd" value="" /><br>
  用户性别:<input type="radio" name="sex" value="男">男
           <input type="radio" name="sex" value="女">女<br>
  用户爱好:<input type="checkbox" name="hobby" value="游泳">游泳
		   <input type="checkbox" name="hobby" value="看书">看书 
		   <input type="checkbox" name="hobby" value="看电影">看电影
		   <input type="checkbox" name="hobby" value="写代码">写代码<br>
  用户籍贯:<select name="home">
		     <option value="广州">广州</option>
		     <option value="重庆">重庆</option>
		     <option value="上海">上海</option>
		   </select>
		   <br>
  <input type="submit" value="提交">
  <input type="reset" value="重置">
</form>

process.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
	
	request.setCharacterEncoding("utf-8");
	
	String username = request.getParameter("username");
	String pwd = request.getParameter("pwd");
	String[] hobby = request.getParameterValues("hobby");	
	String sex = request.getParameter("sex");
	String home = request.getParameter("home");
	
	if("admin".equals(username) && "000".equals(pwd)){
		session.setAttribute("username", username);
		session.setAttribute("hobby", hobby);
		session.setAttribute("home", home);
		session.setAttribute("sex", sex);
		request.getRequestDispatcher("show.jsp").forward(request, response);
	}
	else{
		response.sendRedirect("login.jsp");
	}
%>

show.jsp

<%  request.setCharacterEncoding("utf-8"); %>
    用户姓名:<%= session.getAttribute("username")%><br>
    用户性别:<%= session.getAttribute("sex")%><br>
    用户爱好:<% 
    		   String[] hobby = (String[])session.getAttribute("hobby");
    		   for(int i=0; i<hobby.length; i++)
    		     out.println(hobby[i]+"  ");
    	     %><br>
    用户籍贯:<%= session.getAttribute("home")%><br>

 

说明

1、获取表单中对应name属性值的存放的value

String <变量名> = request.getParameter("<表单中的name属性值>");

2、获取表单中复选框选中的所有值,存放在数据中

String[] <一维数组名> = request.getParameterValues("<表单中复选框统一的name属性值>");

3、把数组传入sesstion

session.setAttribute("<存放的变量名或数组名>", <当前页面的变量名或数组名>);

4、在另一页面传出session中存的值

//单值session
<%= session.getAttribute("<变量名>"); %> 

//数组session
String[] <数组名> = (String[])session.getAttribute("<数组名>");
    for(int i=0; i<<数组名>.length; i++)
        out.println(<数组名>[i]+"  ");

5、重定向和转发

//转发
request.getRequestDispatcher("xxx.jsp").forward(request, response);

//重定向
response.sendRedirect("xxx.jsp");

重定向不传数据,地址栏发生变化;

转发是在同一个请求里,地址栏不发生变化。

当需要保存一个内容的时候,使用转发;不需要保存内容的时候,使用重定向。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186936.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VMM callback「建议收藏」

    VMM callback「建议收藏」vmm的callback调用的是基类,而不是扩展类。这样做的目的,就是不修改原程序结构的基础上来增加或者替换内容,大大的提高了重用性。修改的内容在扩展类中增添。这种思想应该来源于SV中的虚方法,虚方法可以重写其所有基类中的方法,然普通的重写只能在本身及其扩展类中有效。这样就可以调用基类的时候,访问到扩展类中对基类中虚函数的重写。由虚函数发展到虚类,虚类是一个定义抽象概念的类模板,不可以实…

    2022年9月22日
    0
  • Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)

    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)

    2022年3月7日
    37
  • ssl原理及应用_ssl的理解

    ssl原理及应用_ssl的理解今天学习网络通信,看到使用ssl(SecureSocketsLayer)进行加密,由于对ssl只是有些概念上的了解,对于具体应用原理、过程和如何使用不慎了解,于是学习了一番,总结如下:1.为什么要使用ssl?确保数据传输的安全性2.用ssl加密传输的实际过程?建立连接时使用非对称加密,而连接完成后在传输数据时使用对称加密(速度快)3.ssl加密方式?有两种方式:单

    2025年6月13日
    0
  • 基于Speex的声学回声消除[通俗易懂]

    基于Speex的声学回声消除[通俗易懂]所谓声学回声消除,是为了解决VoIP(网络电话)中这样一个问题:即A与B进行通话,A端有麦克风和扬声器分别用来采集A的声音和播放B的声音,B端有麦克风和扬声器分别用来采集B的声音和播放A的声音,很明显,由于声音传播的特性,A端的麦克风在采集A的声音的同时,也采集到了A端扬声器播放的来自B的声音,也就是A端采集到的声音是一个混合的声音,这个声音通过网络发给B时,B就不仅能听到A的声音,也能听见B前几

    2025年5月24日
    0
  • pycharm激活码 2021 3月最新注册码

    pycharm激活码 2021 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    68
  • python 替换字符串中的元素「建议收藏」

    python 替换字符串中的元素「建议收藏」python替换字符串中的元素defstr_replace(old_str,old,new):   “””   在old_str字符串中,把old替换成new   :paramold_str:原字符串   :paramold:被替换的字符   :paramnew:替换后的字符   :r

    2022年5月12日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号