java三级报名_java web 学习 --第四天(Java三级考试)

jsp内置对象 out

out

属性类型:JspWriter 作用域:page 作用:一个输出缓存流,向客户端浏览器输出信息

JspWriter类中常用的方法和功能

flush() 输出缓存区的数据

close() 关闭输出流

clearBuffer() 清除缓存区的数据,并把数据写到客户端浏览器中

clear() 清除缓冲区内容,不写到客户端浏览器

getBufferSize() 获取缓冲区大小,缓冲区大小可以使用 设置

getRemaining() 获取缓冲区没有使用空间大小

isAutoFlush() 若设置自动缓存返回true否则返回falsh

可以用设置

使用out对象输出中文字符乱码解决办法,一般只需在page指令设置目标字符串编码类型

如: 将字符编码设置为utf-8

out 对象中的print和println在jsp页面中效果一样,如果需要换行,则使用
标签

内置对象request

request的对象的主要作用是接收客户端HTTP协议发送到服务器端请求数据

HTTPServletRequest接口常用方法和功能:

getCookies() 获取保存客户端主机中的Cookie对象数组

getSession() 获取会话session对象,如果还没有创建出session对象实例,系统会自动创建

getHeader() 获取HTTP协议中定义的与请求头相关的某个指定名称的信息。

如:request.getHeader(“User-Agent”) 返回客户端浏览器的版本号、类型

下列代码可以获取浏览器类型

if(request.getHeader(“User-Agent”).indexOf(“MSIE”)!=-1)

{

}

getAttribute() 返回指定名称request作用域中的属性值,若没有返回null

getMethod() 获取客户端向server端传送数据的方式 可以是post get delete put

getParameter() 获取客户端传送给server端的指定名称的请求参数值

getParameterNames()  获取客户端向server端传送所用请求参数的的参数名,返回的结果集是一个Enumeration枚举类对象实例

getParameterValues() 获取指定参数名所请求的值,一般用于获取复选框等提交请求参数值

getQuerySting 获取查询字符串,该查询字符串由客户端浏览器以get请求方式向server端传送

getRequestURL() 获取发出请求字符串的客户端地址

实例: 使用request实现用户登录

新建一jsp页面,名为login.jsp

代码:

String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

This is my first JSP pageusername:


password:


userType:

user

master

再新建一个响应页面 welcome.jsp:

String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

My JSP 'charset.jsp' starting page

login.setPassWord(request.getParameter("password"));

login.verifyID();if(login.verifyID() )

{

out.print("登录成功,欢迎"+request.getParameter("userType") +login.getUserName());//out.print(request.getCookies().toString() +request.getSession());

if(request.getHeader("User-Agent").indexOf("MSIE")!=-1)

{

out.print("
"+"your browser is IE");

}else{

out.print("
"+"your browser isn't IE");

}

}else{

out.print("登录失败,用户名或密码错误");

}%>

其中UserInfoActionForm的代码如下:

packagemypackage;public classUserInfoActionForm {/***@paramargs

* two parameters add get/set methods*/String userName=null;

String passWord=null;publicString getUserName() {returnuserName;

}public voidsetUserName(String userName) {this.userName =userName;

}publicString getPassWord() {returnpassWord;

}public voidsetPassWord(String passWord) {this.passWord =passWord;

}public booleanverifyID( ) //这个method是验证用户名和密码,如果用户名是aaa 且密码是bbb则返回true

{if(userName.equals("aaa") && passWord.equals("bbb"))

{

System.out.print("login successful\n");return true;

}else{

System.out.print("login failure\n");return false;

}

}

}

使用这个类的目的是不在jsp页面实现用户名密码校验,若不然,安全性大打折扣

效果如下:

登录页面:

185fa3be34f246040a2b2eb2c0d3b479.png

登录成功,输入用户名aaa和密码 bbb

bfbeb300dfc8e2bedf601c17a675379d.png

输入用户名别的,则登录失败

0217f11a4baea100660b3c11577d9617.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值