Struts Bean标签库主要是用来访问Bean和Bean的属性的,还可以创建新的Bean.还可以通过一个标签访问HTTP请求的Header信息,参数信息,Cookie,然后把这些信息存放在一个新的Bean中.访问HTTP请求信息或者是JSP的隐含对象,访问Web应用资源,定义输出的Bean和属性等作用.下面对具体的标签详细说明:
1):访问Cookie信息,Cookie是服务器保存在客户端硬盘上记录客户信息的小文件,都是以name/value形式的信息.这个标签的主要属性有:id属性定义一个http包下的cookie类型的变量,这个变量存放在page范围内,name属性指定Cookie的名字,value属性指定Cookie的默认值,如果Cookie不存在就用这个默认值.
2):访问HTTP请求中的header信息,它的属性有:id属性定义了一个字符串类型的变量,存放在page范围内.name属性指定需要检索的Header信息.当检索到了请求中的向应的Header信息,就会把这个信息负值给id定义的字符串,然后保存在page范围内,可以用标签输出这个字符串.
3):访问请求参数,具体的属性是id属性定义了一个String类型的变量,存放在page范围内.name属性指定请求的参数名称.value属性指定参数的默认值.这个是通过name指定的参数获取值,然后负值给id定义的变量.如果没有这个参数就用value的值负给变量,然后也可以通过标签输出.或者进行其他处理.
4)访问JSP隐含对象比如request,response,session等,具体的属性有:id属性定义一个引用隐含对象的变量,这个变量存放在page范围内.property属性指定隐含对象的名字,可以包括application,config等.
5)标签用于输出ResourceBundle中的一条信息,标签的bundle属性指定一个ResourceBundle,它和配置文件中的元素的key属性匹配,如果没设置bundle属性,就采用默认的ResourceBundle.
6)标签用于检查Web资源的内容,主要属性是id属性定义了一个web资源的变量,name属性指定web资源的路径.input属性,如果没设置则id属性定义变量为字符串,如果设置了值,则id属性变量为InputStream类型.
7)标签用于检索Struts框架的内在对象,比如ActionForm,它的id属性定义了一个page范围的变量.forward属性指定ActionForward对象和Struts配置文件的元素的子元素匹配.formbean属性指定ActionFormBean对象和配置文件中的
元素匹配.mapping属性和元素匹配.
8)标签和标准的JSP标签差不多,都是用来包含其他的Web资源的内容的.区别是是把其他的Web资源内容存放在一个变量中,而不是直接显示在页面上的.主要属性是forward属性指定全局转发路径.和元素中的元素匹配.page属性指定相对于当前应用的URI以/开头.href指定完整的URL.
9)标签用于定义一个变量,id属性是变量的名字,toScope属性指定这个变量的存放范围,如果不设置默认的是page范围.然后可以通过一些方法给id属性负值.设置value属性此时id属性定义的变量为字符串类型,value属性代表这个变量的字符串.还可以同时设置name和property属性,name是指定一个存在的Bean.property是指定存在这个bean中的某个属性.
10)标签用于获得Map,Collection或者数字的长度,id属性设置定义一个Integer类型的变量,name属性指定存在的Map或者Collection.
11)标签用于在网页上输出某个bean或者它的属性的内容,这个标签是标签的重点,name属性指定已经存在的变量比如输出标签中的变量.如果要输出的是某个bean,则需要name和property属性,name指定bean的名称,property属性指出相应的bean的属性.另外还有一个filter属性类似过滤器,默认值是true,如果filter属性设置为true,将把输出的内容的特殊HTML符号作为普通字符串来显示,如果filter的属性设置为false则不会把输出内容的特殊HTML符号转换为普通字符.
经过了如上的研讨,可以看出Bean标签的属性有很多共同点,比如id属性都是定义一个变量的,默认存放是page范围.而name属性指定已经存在的JavaBean名字,property属性指定这个JavaBean的某个属性,scope属性指定这个JavaBean的范围,如果没设置将从page,request,session,application范围内寻找这个Bean.其中最频繁使用的是和,用于输出ResourceBundle和JavaBean中的信息和属性的标签.
posted @
2010-11-05 17:16 姚瑞 阅读(131) |
评论 (0) |
编辑 收藏
经常看到jsp的初学者问tomcat下怎么设置jsp、servlet和bean的问题,于是总结了一下怎么tomcat下设置jsp、servlet和ben,希望对那些初学者有所帮助。
一、研发环境设置
第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为视窗系统 Offline Installation的SDK,同时最佳下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
第二步:安装和设置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程式,然后按默认设置进行安装即可。
1.安装j2sdk以后,需要设置一下环境变量,在我的计算机->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
JAVA_HOME=c:\j2sdk1.5.0
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为他代表当前路径)
path=%JAVA_HOME%\bin
接着能写一个简单的java程式来测试J2SDK是否已安装成功:
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
将上面的这段程式保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javac Test.java
java Test
此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的设置情况。
2.安装Tomcat后,在我的计算机->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(能根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
接着能启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
第三步:建立自己的jsp app目录
1.到Tomcat的安装目录的webapps目录,能看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录,起名叫myapp;
3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>
6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
第四步:建立自己的Servlet:
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程式,文件名为Test.java,文件内容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
out.flush();
}
}
}
2 .编译
将Test.java放在c:\test下,使用如下命令编译:
C:\Test>javac Test.java
然后在c:\Test下会产生一个编译后的servlet文件:Test.class
3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 目前webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
编辑后的web.xml如下所示,红色为添加的内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>A test Servlet</description>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
注意:修改了web.xml及新加了class,都要重启Tomcat
第四步:建立自己的Bean:
1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程式,文件名为TestBean.java,文件内容如下:
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
2 .编译
将TestBean.java放在c:\test下,使用如下命令编译:
C:\Test>javac TestBean.java
然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
4 .新建一个TestBean.jsp文件,文件内容为:
<%@ page import="test.TestBean" %>
<html>
<body>
<center>
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>
Java bean name is: <%=testBean.getName()%>
</center>
</body>
</html>
5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
这样就完成了整个Tomcat下的jsp、servlet和javabean的设置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面研发的能力了。
posted @
2010-11-05 17:07 姚瑞 阅读(125) |
评论 (0) |
编辑 收藏