61
、简述使用
Cookie
进行会话跟踪的过程。(写出主要步骤,即存取数据的步骤)
//
从登录验证页面表单中获取用户名
String username=reqeust.getParameter("username");
//
创建
Cookie
Cookie uname=new Cookie("uname", username);
response.addCookie(uname);
//
获取请求中的
Cookie
,以数组方式保存
Cookie cookies[ ]=request.getCookies();
//
循环遍历数组,得到
key=uname
的
Cookie
for(int i=0;i
Cookie ucookie=cookies[i];
if(ucookie.getName().equals("uname”))
{
System.out.print(
“欢迎你:”
+ucookie.getValue());
}
62
、简述
JSP
的
9
大内置对象
out
向客户端输出数据
request
向客户端请求数据
response
封装了
jsp
产生的响应
,
然后被发送到客户端以响应客户的请求
application
服务器和应用程序的信息
config
表示
Servlet
的配置
page Jsp
实现类的实例
,
它是
jsp
本身
,
通过这个可以对它进行访问
pagecontext
为
JSP
页面包装页面的上下文。管理对属于
JSP
中特殊可见部分中己经命名对象的访问
session
用来保存每个用户的会话信息
exception
反映运行的异常
63
、什么是
application
对象,
application
对象与
session
对象的区别?
Application
的数据信息保存在服务器内存中,服务器关闭信息丢失,
Session
用于保存每个用户的专用信息,退出网站或浏览器时信息丢失,
application
作用于整个服务器而
session
作用于会话,当打开一个浏览器会话开始,关闭浏览器会话结束,主要用来保存用户的会话信息等。
64
、简述
Jsp
的执行过程。
首先,由客户端浏览器向
Web
服务器提出访问
JSP
页面的请求(
Request
),然后由
JSP
引擎负责将
JSP
转成
Servlet
,产生的
Servlet
经过编译后生产类文件,然后再把类文件加载到内存执行。最后,由
Web
服务器将执行结果即响应
(
Response
)给客户端浏览器。
65
、
JSP
和
Servlet
有哪些相同点和不同点,他们之间的联系是什么
JSP
是
Servlet
技术的扩展,本质上是
Servlet
的简易方式,更强调应用的外表表达。
JSP
编译后是
"
类
servlet"
。
Servlet
和
JSP
最主要的不同点在于,
Servlet
的应用逻辑是在
Java
文件中,并且完全从表示层中的
HTML
里分离开来。而
JSP
的情况是
Java
和
HTML
可以组合成一个扩展名为
.jsp
的文件。
JSP
侧重于视图,
Servlet
主要用于控制逻辑。
创建一个用户登录界面的
servlet
。要求:
)
用户界面包括用户名、密码、提交按钮、重置按钮
)
表单提交给自己。
)
获取表单里面的所有参数,并在页面上显示出来。
)
要求有中文的处理
)
写出该
servlet
相应的
web.xml
配置。
public class Servlet_test1 extends HttpServlet
{
public String getString(String str) //
中文处理方法
{
try
{
if(str==null)
{ str=""; }
else
{
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
return str;
}
public void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out=response.getWriter();
//
打印出一个表单
out.println("
out.println("");
out.println("
用户登录界面
");
out.println("
用户名:
");
out.println("
密
码:
");
out.println("
");
out.println("");
out.println("");
//
取出所有参数
Enumeration e=request.getParameterNames();
if(e!=null)
{
while(e.hasMoreElements())
{
String name=(String)e.nextElement();
String value=request.getParameter(name);
//
中文处理
name=getString(name);
value=getString(value);
//
显示所有的参数名和参数信息
out.println(name+"
:
"+value);
out.println("
");
");
}
}
}
}
web.xml
配置为:
servlet-class>Servlet_test1
66
、编写一个文件
userLogin.java,
定义了一个用户
Bean
,包含姓名、密码和电子邮件
3
个属性
,
通过
EL
的存取运算符访问其属性
,
并将取值的结果显示在
JSP
页面
java
类:
package bean;
public class userLogin {
private String userName;
private String password;
private String email;
public userLogin() {
userName = "
李平
";
password = "123";
email = "[email protected] ";
}
public void setuserName(String userName) {
this.userName = userName;
}
public String getuserName() {
return this.userName;
}
public void setpassword(String password) {
this.password = password;
}
public String getpassword() {
return this.password;
}
public void setemail(String email) {
this.email = email;
}
public String getemail() {
return this.email;
}
}
jsp
页面
(
假设信息被保存在
session
中
)
:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
用户名:
${sessionScope.user.userName}
密码:
${sessionScope.user.password}
电子邮箱:
${sessionScope.user.email}