JSP
网页应用程序开发
网页应用程序开发
教学目的:了解JavaBean与Servlet的概念与使用方法
“云端网”会员系统将使用JavaBean实现密码加密功能,使用Servlet实现上传图片作为头像功能,本课将介绍这两个技术的概念及其在JSP中的使用
11.1 JavaBean类
JavaBean(或称Bean)是一种Java类,通过封装属性和方法成为具有特定功能或处理某个业务的对象。
JavaBean的编写规范:
- 必须是一个公共类(访问属性应为public)
- 必须有一个公共的且不带参数的构造方法
- 不应有公共属性(访问属性应为private)
- 类的属性应通过一组存取方法(getXxx和setXxx)来访问。
11.2 使用JavaBean
要在JSP中使用JavaBean,须将Bean类文件放入Web应用程序目录的类文件夹WEB-INF\classes中(包名对应子目录名),这样就可使用jsp:useBean标记创建Bean类的实例:
<jsp:useBean id="Bean实例名" scope="有效期" class="Bean类名" />
然后如果Bean的属性有存取方法,就可以在HTML代码中使用jsp:setProperty标记设置Bean的属性值:
<jsp:setProperty name="Bean实例名" property="Bean的属性名" value="值" />
或者使用jsp:getProperty标记获取Bean的属性值:
<jsp:getProperty name="Bean实例名" property="Bean的属性名" />
也可以在JSP代码中使用标准Java语言执行Bean的方法。
JavaBean的有效期取值:
- page:有效期为当前页面
- request:有效期为请求页面(即当前页面提交信息后对象仍有效)
- session:有效期为用户会话(即用户关闭浏览器前对象一直有效)
- application:有效期为应用程序(即应用程序运行期间所有用户共享同一对象)
例:tools.MD5是一个MD5加密Bean,则类的字节码文件放置路径应为WEB-INF\classes\tools\MD5.class
先创建实例对象oMD5
<jsp:useBean id="oMD5" scope="request" class="tools.MD5" />
然后就可以用类的getMD5ofStr方法将提交的密码变换为加密后的字符串
oMD5.getMD5ofStr(request.getParameter("password"))
11.3 Servlet类
Servlet是一种Java类,为javax.servlet.http.HttpServlet类的子类
编写Servlet需要引入javax.servlet和javax.servlet.http包(相应类库文件为Tomcat安装目录下的lib\servlet-api.jar)
可以使用与访问JSP页面相同的方式访问Servlet,包括以表单或URL参数的方式提交用户信息
(注意:实际上JSP技术的基础就是Servlet,JSP页面创建或修改后都是由JSP引擎自动转化为Servlet程序编译运行的)
11.4 使用Servlet
要在JSP中使用Servlet,首先须将Servlet类文件放入Web应用程序目录的类文件夹WEB-INF\classes中(包名对应子目录名)
然后在Web应用程序部署文件WEB-INF\web.xml中配置Servlet(此文件更改后Tomcat会自动重载Web应用程序)
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app> <servlet> <servlet-name>Servlet名</servlet-name> <servlet-class>Servlet类名</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet名</servlet-name> <url-pattern>/Servlet访问路径</url-pattern> </servlet-mapping> </web-app>
这样就可以用浏览器直接访问此Servlet
例:tools.UploadServlet是一个上传图片的Servlet,则类的字节码文件放置路径应为WEB-INF\classes\tools\UploadServlet.class
然后在Web应用程序部署文件WEB-INF\web.xml中配置UploadServlet
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app> <servlet> <servlet-name>UploadServlet</servlet-name> <servlet-class>tools.UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> </web-app>
将带有文件域的表单的动作设置为upload,就可以实现提交图片文件保存到服务器的功能,传入avatar参数abc,则上传的图片会转为120像素的小图片abc.jpg再保存到服务器。
<form id="fileupload" action="upload?avatar=abc" method="POST" enctype="multipart/form-data"> <input type="file" name="fileField" id="fileField"> </form>
博主 in 教程 02:23下午 12月 07, 2012
Tags: 教学