JSP代码求解释!!~~~
1。请问下列语句的含义是什么?<jsp:useBeanid="stu"class="cn.edu.dhy.Student"scope="page"/><jsp:setPr...
1。请问下列语句的含义是什么? <jsp:useBeanid="stu" class="cn.edu.dhy.Student" scope="page" /> <jsp:setPropertyname="stu" property=“*" />2。假设有2个用户访问下列jsp页面test,jsp,第一个访问和第二个访问test,jsp页面的用户看到的页面效果有何不同?为什么?<%@page contentType="text/html;charset=GB2312" %><HTML><BODY><%!String str=new String("你好");synchronizedvoid f(String s){ str+=s;}%><% String s="abcd"; f(s);%><%=str%></BODY></HTML>3、编写读取文本文件(位于c:/123.txt)内容并打印输出的程序段:import java.io.*;class Test { public static void main(String[] args) { }} </p></span></font></p>
展开
2个回答
2013-10-19
展开全部
1.在当前页面中,实例化 cn.edu.dhy.Student 变量为stu的实例。scope="page" 的意思是作用范围在当前页中。
<jsp:setPropertyname="stu" property=“*" /> 可以设置stu 的变量值
2.第一个用户和第二个用户看到的结果是一样的。
由于方法使用了同步关键词 synchronized ,二个用户访问此页面,会导致调用此f 方法时,会是队列方式访问。
3.使用BufferedReader 读取,这属于IO范筹,建议了解下。
BufferedReader in = new BufferedReader(new FileReader(new File("c:/123.txt")));
String s = new String();
String testString="";
try{
while((s = in.readLine())!= null){
testString+=s;
}
}finnally{
//不管结局如何,都要关闭流
in.close();
}
//把文件中的内容打印出来
System.out.println(testString);
<jsp:setPropertyname="stu" property=“*" /> 可以设置stu 的变量值
2.第一个用户和第二个用户看到的结果是一样的。
由于方法使用了同步关键词 synchronized ,二个用户访问此页面,会导致调用此f 方法时,会是队列方式访问。
3.使用BufferedReader 读取,这属于IO范筹,建议了解下。
BufferedReader in = new BufferedReader(new FileReader(new File("c:/123.txt")));
String s = new String();
String testString="";
try{
while((s = in.readLine())!= null){
testString+=s;
}
}finnally{
//不管结局如何,都要关闭流
in.close();
}
//把文件中的内容打印出来
System.out.println(testString);
2013-10-19
展开全部
建议你多看java与JSP的书,今天有空就帮你简要解答一下 第一个问题:你到百度去搜jsp:useBean或jsp:setProperty,会有更详细的说明,以下是我的简要分析<jsp:useBeanid="stu" class="cn.edu.dhy.Student" scope="page" /> 写错了,useBean与id之间一定要有空格,正确格式如下<jsp:useBean id="stu" class="cn.edu.dhy.Student" scope="page" /> 创建一个Student类实例stu,实例的使用范围是当页 <jsp:setPropertyname="stu" property=“*" />也写错啦,setProperty与name之间一定要有空格,正确格式如下<jsp:setProperty name="stu" property=“*" />设置Bean中的属性值name="stu" 表示已经在<jsp:useBean>中创建的Bean实例的名字. property="*" 储存用户在Jsp输入的所有值,用于匹配Bean中的属性。在Bean中的属性的名字必须和request对象中的参数名一致. 如果request对象的参数值中有空值,那么对应的Bean属性将不会设定任何值。同样的,如果Bean中有一个属性没有与之对应的Request参数值,那么这个属性同样也不会设定. 现在进入第二个问题第一个访问和第二个访问test,jsp页面的用户看到的页面效果是一样的(略掉你的代码错误问题)核心:要明白什么情况下synchronized的同步锁才起作用如果你想看到不一样的效果,给出以下建议:String str=new String("你好");synchronizedvoid f(String s){ str+=s;}这段代码写到JAVA类里面,具体代码如下:public class Test {public static String str="你好";public synchronizedvoid static String f(String s){ return str+=s;}
}jsp页面<%=Test .f("abcd")%> 进入第三个问题要明白涉入的知识点是数据输入输出流,知道问题切入点,接下来就好办BufferedReader in = new BufferedReader(new FileReader("c:/123.txt"));
String s = new String();
while((s = in.readLine())!= null)
System.out.println(s);
in.close();
还有其它的输入输出流也可以读取文件,自己慢慢学吧 这些知识点网络上很多,讲解也详细,多去看看吧,比在这里提问来的答案强
}jsp页面<%=Test .f("abcd")%> 进入第三个问题要明白涉入的知识点是数据输入输出流,知道问题切入点,接下来就好办BufferedReader in = new BufferedReader(new FileReader("c:/123.txt"));
String s = new String();
while((s = in.readLine())!= null)
System.out.println(s);
in.close();
还有其它的输入输出流也可以读取文件,自己慢慢学吧 这些知识点网络上很多,讲解也详细,多去看看吧,比在这里提问来的答案强
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询