JSP数据交互(一)

JSP数据交互(一)

什么是JSP内置对象?

在这里插入图片描述

JSP常用的内置对象有:

在这里插入图片描述

JSP内置对象request:

在这里插入图片描述

在这里插入图片描述

request对象的方法:

在这里插入图片描述
实例:
注册页面index.jsp的代码如下

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  <FORM action="MyJsp.jsp" method="post" name="myform">
<TABLE   border="0" cellpadding="0" cellspacing="0" align="center" width="530">
  <TR>
    <TD height="108" colspan="2"><IMG src="images/top.jpg"></TD>
  </TR>
  <TR>
    <TD width="107" height="36">用户名:</TD>
    <TD width="524"><INPUT name="txtUser" type="text" maxlength="16">只能输入字母或数字,4-16个字符</TD>
  </TR>
    <TR>
    <TD width="107" height="36">密码:</TD>
    <TD width="524"><INPUT name="txtPass" type="password">密码长度6-12</TD>
  </TR>
</TABLE>
</FORM>
  </body>
</html>

注册提交页面MyJsp.jsp的代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'MyJsp.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
<%
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
 %>
 	<h1>用户名:<%=name %></h1>
  	<h1>密码:<%=pwd %></h1>
  </body>
</html>

代码说明:

(1)request的getParameter( )方法是最为常用的,使用此方法可以获得请求中所提交的参数值。例如,注册页面(index.jsp)通过HTML表单为注册提交页面(MyJsp.jsp) 提交了两个参数,名称分别为name和pwd,通过调用request.
getParameter( “ name”)和request getParameter(" pwd” )就可以获取这两个参数的值。
(2) request 对象的setCharacterEncoding( )方法用于设置字符集,可以用来解决中文乱码问题。为什么会出现中文乱码问题?常用字符集编码有ASCI. ISO- 8859-1. GB2312. GBK、Unicode. UTF-8等,Jave在其内部使用Uicode字符集来表示字符,这样就存在Uicode字符集和本地字符集进行转换的过程。在Web应用中,通常都包括了浏览器、Web 服务器、Web 应用程序和数据库等部分,每-部分都有可能使用不同的字符集,从而导致字符数据在各种不同的字符集之间转换时,出现乱码问题。

对于中文乱码问题,根据产生的原因,主要有以下几种解决方案。

➢以POST方法提交的表单数据中有中文字符时。

Toncar对请求数据默认采用ISO 889 -1字符集进行解码,requet 对象的geParmeter( )方法得到的字符串是以10-88转换而来的。所以在获取请求参数值之前,调用sCaleCnodinn UTF-8” )方法, 将请求的解码方式设定为UTF- 8.注意:页面和浏览器发送请求也应一致使用UTF-8编码, 通过JSP页面设置p指令的cenve属性.指定页面内容的编码格式如下。

<% @ page contentType="text/html; charset=UTF-8" %>

说明:cnenTrpe和paEnoding的区则: cnenTYpe定义响应的资源类型,也可以包含JSP页面和响应内容的字特美:
ngeneotre相定ISP文件的字符集及欧认的cnmenTpe字符集。

以GET方法提交的表单数据中有中文字符时。

当采用GET方式提交表单时,提交的数据作为查询字符串被附加到URL的末端发送到服务器,对于这部分数据,在服务器端调用setCharacterEncoding( )方法是不起作用的,我们需要得到请求参数值后,进行编码转换。如示例1中,将表单的提交方式改为method= “get”, 则在注册提交页面reginto. isp中将获得用户名的代码修改为

String name - request .getParameter ("name");
name”Dew String (name.getBytes("IS0-8859-1")"UTF-8");

其中,nem getByes( “ISO 8859-1” )是按照"ISO- 8859-1” 字符集编码把name字符串转换为bre数组,再通过 new Sring )方法,使用指定的“UTF-8" 字符集把byte数组构造为一一个新的String.

➢在Tormcat中设置字符集。

当表单采用GET方法提交时,虽然可以通过构造一个新的String 的方式解决中文乱码问题,但是当获取多个参数值时,每个参数都进行重新编码,操作比较烦琐,效率也不高。这时可以通过在Tomcat中设置字符集的方式解决,配置方式如下:找到Tomcat目录结构\conf\server xml文件.在Conectr>元素中添加URiEncoding属性,将它的值设置为"UTF- 8”。 代码如下所示:


<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8" />

提示如果在Tomcat 中设置了字符集编码,对于浏览器以GET方式提交的数据则无须在JSP
页面中再进行重新编码处理(注 意浏览器需以UTF-8编码发送URL)。

JSP内置对象response

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

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

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

请求的转发

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

在这里插入图片描述

什么是会话?

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

JSP内置对象session

在这里插入图片描述

session与窗口的关系:

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

实例代码

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

实例代码

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

session的失效

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

include指令:

在这里插入图片描述

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值