项目功能分析说明
1.JSP内置对象的应用。
1.1、Requ est对象
Requ est对象是包含客户端向服务器发出请求的内容,封装了用户提交的信息,通过这个对象可以了解到客户端向服务器发出请求的内容和客户端所要求的资料,在服务器启动时会自动创建,是
Javax.servlet.Ht tpServletR equest接口类的一个实例。
网页Re quest.jsp主要功能是显示客户端的基本信息,如客户端的IP地址、计算机名称、使用端口号等等。
1.2、Respon se对象
Respo nse对象是java x.servlet.ServletRes ponse接口中一个针对HTTP协议而实现的子类。Respo nse对象是表示服务器对请求的响应的Ht tpServletR esponse对象,包含服务器向客户端做出的应答信
息,Res ponse 对象响应信息包含的内容包括MI ME类型的定义、保存的Cookie、连接到Web资源的URL等等。
Respon se对象包括两个文件,分别是Respon se1.jsp\Re sponse2.js p,Response1.jsp网页向网页Response2.jsp发送请求,Re sponse2.js p进行回应。
1.3、Session对象
Session对象是javax.ser vlet.http.HttpSessio n类的一个实例,当客户端第一次访问JSP页面时,JSP容器就会自动创建一个ses sion对象,用来存储客户在访问各个页面时提交的各种信息,一个session对象对应一个访问客户。同时,这个sessio n对象被分配一个ID号,用来标识不同访问客户信息,JSP容器会将这个ID号发送到客户端,保存在客户端的cookie中,这样session对象和客户端之间建立起一一对应的关系,即每个客户端对应一个ses sion对象。
在S ession1.js p网页中,使用get Id()方法获得服务器分配的身份标识ID,并输出,由用户输入一个用户名,提交给S ession2.js p网页,使用sess ion对象的sess ion.setStt ribute("na me",userna me)方法将user nama 变量的值和名称name进行关联,其他网页就可以使用n ame名称获取绑定值。
1.4、Appl ication对象
Applicaion t对象表示Servl et上下文环境,从S erlet的配置对象中获取,当Web应用中的任何一个JSP页面开始执行时,将产生一个applicat ion对象,当服务器关闭时,applic ation对象也将消失,在同一个页面We b应用中的所有JSP页面,都将存取同一个applicatio n对象,即使浏览这些JSP页面的客户不是同一个也是如此。
A pplication.jsp网页,是使用applicatio n对象来实现一个简单的网页计数器,首先有getServlet Context()方法获取一个appli cation对象,使用applicati on.setAttr ibute("Cou nt",number),接着使用sess ion对象的isNe w()方法,判断当前连接客户是否是一个新的客户端,如果是则加1,否则继续显示原来的值。最后用
sesAtt ribute("My Count")获取结果。
2.配置数据源。
本项目myweb分别使用JDBC和数据连接池两种方法访问数据库,这里主要介绍使用连接池访问数据库。
要使用DBCP,首先需要配置数据源,在Tomcat中,可以在<Context>元素的内容中使用<R esource>元素来配置数据源.
Na me指定资源相对于j ava:comp/e nv上下文的JNDI名字。
Auth资源管理者,它有两个可选的值:Applica tion和Conta iner.
Type资源所属的java类的完整限定名。
Ma xactve池中连接的最大数目,要确保数据库所配置的最大连接数大于这个值,如果为0,则没有最大数量限制。
Maxidle池中最大空闲数据库连接数,如果为-1,则没有限制。
Maxw ait等待一个连接变成可用的最长时间,单位是ms,如果超时将抛出异常。如果为-1,将无限等待。
Us ername和pas sword连接数据库的用户名和密码。
d riverClass Name 数据库的J DBC驱动程序的名称。
Url JDBC连接数据库的url.参数autoReco nnect=true确保连接池能够重新连接,如果8个小时没有操作,连接将关闭。
jsp帮助文档
如果使用连接池访问数据库与使用JDBC直接访问数据库的过程基本相同,只是得到的连接的方式不同,需要通过javax.sql包中定义的DataS ource接口来建立数据库的连接,在程序中通过向一个JNDI服务器查询来得到Da taSource对象,然后调用它的get Connection()方法建立数据库的连接。
创建mywl配置文件,代码如下,
<Con text path="/myweb" d ocBase="C:\Users\Adm inistrator\workspace\myweb\Web Root"
rel oadable="t rue" cross Context="t rue" debug="0" >
<R esource na me="jdbc/m ytest" aut h="Contain er" type="javax.sql.DataSource"
maxActi ve="100" m axIdle="30" maxWait="10000"
u sername="h anhan" pas sword="han han"
driv erClassNam e="s ql.jdbc.Dr iver"
url="jdbc:mys ql://local host:3306/mytest?use Unicode=tr ue&cha racterEnco ding=gbk&a mp;autoRec onne ct=tru e"/>
</Co ntext>
数据源配置的名字是jdbc/mytest,在程序中访问需要写成ja va:/comp/e nv/jdbc/my test
具体实现连接数据库的代码如下;
public vo id process(HttpServl etRequestrequest, H ttpServlet Response r esponse)
throws S ervletExce ption, IOE xception {
Context ctx = nul l;//环境对象,可以从中得到名字和对象的关系
DataSour ce ds = nu ll;//数据源对象,可以从中得到连接对象
Connec tion conn= null;//连接对象
Pre paredState ment pstmt = null;//预编译的语句对象
ResultSe t rs = nul l;// 查询结果集
Stringsql = null;
try {
ct x = new In itialConte xt();//建立C ontext对象
//建立DataSou rce对象
ds =(DataSourc e)ctx.look up("java:/comp/env/j dbc/mytest");
//其中:“j ava:/comp/env/”是固定写法;
//“jdbc/m ytest”是res ource-name的值
conn =ds.getConn ection();// 通过数据源对象建立连接
// 创建语句对象
sql= "select* from myu ser whereuser_id=?and user_p ass=?";
pstmt = c onn.prepar eStatement(sql);
pstmt.setS tring(1, "han");
pstmt.setS tring(2, "123");
rs = pstmt.executeQu ery();// 执行sql语句
// 处理结果
while (rs != null && rs.next()) {
S ystem.out.println("u ser_no=" + rs.getStr ing(1));
System.out.printl n("user_id=" + rs.ge tString(2));
Sys tem.out.pr intln("use r_email="+ rs.getSt ring(5));
}
} c atch (Exce ption e) {
System.out.print ln("数据库异常");
e.pr intStackTr ace();
} finally {// 按打开对象的逆序关闭对象
t ry {
i f (rs != n ull)
rs.close();
if (pstmt != n ull)
pstmt.clos e();
i f (conn != null)
conn.clo se();
} catch (Ex ception e) {
}
}
执行结果:
}
3.W ebFra me框架。
WebF rame中的文档是按实际Web应用的常用的结构进行设计的,主要特点是层次清晰,功能分类明确。在Web Frame中,这个存放公共JSP文件的目录是common,同样WebFrame中还有其他的专用目录用于分别存放组建、cs s样式文件、Java script脚本文件和上传文件等等。另外,实际的Web应用中还有很多JSP页面,为了便于页面管理,根据用户的不同类别,将Web应用的页面分为前台用户使
用页面和后台用户管理页面。如图是WebFram的文档结构
本项目we bframe主要使用WebFrame框架实现了用户登录功能和上传文件功能。如图所示的登录界面中,用户输入用户名和密码,基本验证要求:用户名和密码不能为空,如果用户名和密码为空,有为空的用户名或密码不能为空的提示,如果输入用户名或密码有错,有相应的用户名或密码错误提示,如果用户正确输入,可以登录系统,进行上传文件如图上传界面。
登录界面
上传文件界面
执行结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论