服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > J2EE > Servlet/Jsp > 查看文档

java一步一步的web编程关于jsp与javabean

 

 
java的web应用有servlet,jsp,xml等,用servlet来写cgi程序来实现请求与响应服务,它是服务器端的小应用程序。jsp比起servlet来说更容易开发但它最终将转换成servlet,jsp结合了html(或xml)产生了许多脚本标记,在这些定义的标记中,封装了数据,属性,嵌入了java程序段,表达式,也定义了一些行为角色结合javabean,建立更为简化,直观的编程方向,作为一种servlet api的扩展,jsp所表现所有的优点和特性更加利于web容器的开发应用。javabean作为java的组件技术,在jsp中的应用更是起到对数据的设置和调用动态产生内容。
    作为一种应用实现,所以重在理解,所以仅就java和javabean 开发作一配置到运行实例如下,首先,作为java程序员,如果作jsp web编程应用方面的开发,就不得不对标记语
言有一点的理解和认识,<%--- %>中主要是代码片断和表达式<%!--%>定义变量和方法<%=  %>表达输出.使用javabean,jsp中有这样的标记<jsp:usebean>还有与之包含的标记<jsp:setproperty>和<jsp:getproperty&g将在下面的例子中用到。
首先到sun的主页上下载jdk,我这里下载的是jdk1.3 ,安装后放于c:/jdk1.3然后下载tomcat,大家可下载的地方比较多,这里是在http://jakarta.apache.org管方网站上下载的版本为jakarta-tomcat-3.3a 安装后放于c:/jakarta-tomcat-3.3a在windows中主要设置autoexec.bat批处理文件加上下面两条如下
set java_home=c:/jdk1.3
set tomcat_home=c:/jakarta-tomcat-3.3a

这样可以说一个简单的web服务器支持jsp、servlet运行环境就算好了,然后要作的就是先测试一下是不是能运行http服务。
首先进入c:/jakarta-tomcat-3.3a/bin/目录双击startup在这个ms-dos中如果出现out of environment space ,不要紧你只要点击窗口的属性,在内存这一栏中初始环境设为2816,就可以了,在次运行startup就会成功的出现两个窗口,好现在打开浏览器,输入http://localhost:8080 ,tomcat 的主页面就会出现在我们的眼前,写一个自己的jsp程序看看
"mysjp.jsp"
<html>
<body>
<%=new java.util.date()%>
<%=new java.lang.string("hello my jsp ")%>
<%for(int i=0;i<10;i++){
out.print("hellojsp "+i+"<br>");}
%>
<%string s="hello jsp world";%>
<%=s%>
<%!string d;%>
<%d="hello jsp my world";%>
<%=d%>
</html>
</body>
作为测试我们把它放在c:/jakarta-tomcat-3.3a/webapps/root目录下,
url输入:http://localhost:8080/myjsp.jsp就会出现你所要显示的内容来
tomcat服务器的配置方面请大家参阅其它资料,这里就用到的作简要的说明
tomcat的目录结构如下:
应用
(一):目录结构
tomcat的目录结构如下:
目录名: 简介
bin : 存放启动和关闭tomcat脚本
conf : 包含不同的配置文件,server.xml(tomcat的主要配置文件)和web.xml
work : 存放jsp编译后产生的class文件
webapp: 存放应用程序示例,以后你要部署的应用程序也要放到此目录
logs : 存放日志文件
lib/japser/common : 这三个目录主要存放tomcat所需的jar文件
(二):server.xml配置简介
下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档
server: port 指定一个端口,这个端口负责监听关闭tomcat的请求
shutdown 指定向端口发送的命令字符串
service: name 指定service的名字
connector (表示客户端和service之间的连接):
port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
minprocessors 服务器启动时创建的处理请求的线程数
maxprocessors 最大可以创建的处理请求的线程数
enablelookups 如果为true,则可以通过调用request.getremotehost()进行dns查询来得到远程客户端的实际主机名,若为false则不进行dns查询,而是返回其ip地址
redirectport 指定服务器正在处理http请求时收到了一个ssl传输请求后重定向的端口号
acceptcount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectiontimeout 指定超时的时间数(以毫秒为单位)
engine (表示指定service中的请求处理机,接收和处理来自connector的请求):
defaulthost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的
context (表示一个web应用程序,通常为war文件,关于war的具体信息见servlet规范)
:
docbase 应用程序的路径或者是war文件存放的路径
path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path
/****
reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/web-in
f/lib 和/web-inf/classes目录的变化,自动装载新的应用程序,我们可以在不重起to
mcat的情况下改变应用程序
host (表示一个虚拟主机):
name 指定主机名
appbase 应用程序基本目录,即存放应用程序的目录
unpackwars 如果为true,则tomcat会自动将war文件解压,否则不解压,直接从war文件
中运行应用程序
logger (表示日志,调试和错误信息):
classname 指定logger使用的类名,此类必须实现org.apache.catalina.logger 接口
prefix 指定log文件的前缀
suffix 指定log文件的后缀
timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-
04.txt
realm (表示存放用户名,密码及role的数据库):
classname 指定realm使用的类名,此类必须实现org.apache.catalina.realm接口
valve (功能与logger差不多,其prefix和suffix属性解释和logger 中的一样):
classname 指定valve使用的类名,如用org.apache.catalina.valves.accesslogvalve
类可以记录应用程序的访问信息
directory 指定log文件存放的位置
pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求
的字符串,http响应代码,发送的字节数。combined方式比common方式记录的值更多

(三):管理 
1:配置
打开c:/jakarta-tomcat-3.3a/conf/users/admin-users.xml设置管理如下
<tomcat-users>
  <user name="admin" password="11111111" roles="tomcat_admin,tomcat,role1" />
</tomcat-users>

然后重起tomcat,在浏览器中输入http://localhost:8080/admin/就会出现context admin等html页,点击后会出现会弹出对话框,输入上面的用户名和密码即可管理了好,关于tomcat配置管理就说到这里,现在来写一个javabean 看看如何在jsp运用,
package beans;
public class testbean{
private string s="blue";
public void setmybean(string s){
this.s=s;
}
public string getmybean(){
return s;}
}
my.jsp:
<%@page import="beans.testbean %>
<html>
<body>
<java:usebean id="testbean" class="beans.testbean" scope="page"/>
 <java:getproperty name="testbean" property="mybean"/>
<body>
</html>
因为是在root目录下所以bean class放在了web-inf/classes/beans

扫描关注微信公众号