java项目一------OA报名与审核管理系统

采用JavaWeb技术实现采用MVC和分层开发,通过本项目可以很熟练的掌握JavaWeb(Servlet、JSP、EL、标签)的开发技术
项目的实现:javaweb技术–servlet,jsp,jstl,el;
数据库实现:MYSQL。
数据的增删改查:DButils。(数据库操作框架)
MVC分层开发。
服务器:Tomcat
设计模式:单例,工厂,装饰,策略。
系统软件层次设计:
UI (表现层) BUSINESS(业务逻辑层) DAO(数据访问层)
view(jsp) model(javabean/EJB) control(servlet)
UI=view+ control
bus+dao=model
javabean—-pojo简单java模型可以对数据封装
浏览器————————————————————————-数据库
servlet规范:control控制器借助于域对象—->JSP,view视图
业务处理层:service具体的逻辑
DAO:负责从数据库CURD
MODEL:javabean数据封装
java的四大域对象:
1.ServletContext:Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。在不同Servlet 之间转发
this.getServletContext().getRequestDispatcher(“/servlet/Demo10Servlet”).forward(request, response);
2.Request:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。
作用范围:整个请求链(请求转发也存在)。
3.Session:HttpSession 在服务器中,为浏览器创建独一无二的内存空间,在其中保存会话相关的信息。在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存 中创建一个session并返回。
当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。
如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。
如果调用session提供的invalidate() ,可以立即销毁session。作用范围:一次会话
4.pageContext:当对JSP的请求时开始,当响应结束时销毁。其身上提供了forward和include方法,简化重定向和转发的操作
ie ——->web服务器———-reuest
response
servletconfig
servletcontext
session
cookie(服务器传入对象)——–>servlet——->数据库操作软件——–>数据库
注意:1.serlertconfig—–servlet配置文件中init-parm,web容器在创建servlet实例对象时,会自动将初始化参数封装成servletconfig对象,并在servlet的init时将servletconfig传给servlet即可得到具体的servlet初始化信息。
servlet extend httpservlet
private servletconfig;
doget(httpservlet request,httpservlet reponse){config.getinitparamer(data);}
dopost(httpservlet request,httpservlet reponse)(this.getservletconfig.getinitparamer())
init(servletconfig config)
{ this.config=config;
}
2. servletcontext对象 代表当前的web应用, 可以通过servletconfig.getservletcontext()得到对象
servletcontext.getcontext()得到应用
多个servlet 共享一个servletcontext对象来实现数据共享
作用:读取web应用的初始化参数: this.getservletcontext.getinitparamter()
实现servlet的转发:(转发:借钱找我我帮你借钱,重定向1次用的多,借钱找我我让你自己找他2次,登录/购买)rd=this.getservletcontext.getrequestDispatcher(“1.jsp”)
rd.forward(request,response)
读取资源文件:path=this.servlcontext.getrealpath()
fileinputstream fi=new fileinputsream(path)
property pro =new properties()
url=pro.getproperty(url)
3.response对象:响应对象
方法:设置状态吗setStatus /发送数据getWriter /从定向sendRedirect()
4.request对象://用户的一次请求
/转发 getRequestDispatcher 调用该对象的forward方法 转发是服务器行为,重定向是客户端行为
/.getparamter /. request getparameter(name)/map=request getparameterMap()//请求参数字符串数组
/getAttribute(String name):这个方法是从Request域中获取值
getAttributeNames():这个方法是获取Request域中获取所有的字段名称
setAttribute(String name,Object value):这个方法是设置Request域中的属性值
BeanUtils:操纵beans的属性.setAttributes()
BeanUtils.populate的作用:映射的过程就是将页面中的内容先用request获得,然后再将之转换为Map(这里用request.getParameterMap())
最后使用BeanUtils.populate(USER,map)方法将页面各个属性映射到bean中。之后我们就可以这样使用bean.getXxxx()来取值了。USER是bean的一种例子
UserActionForm uForm = (UserActionForm) form;
// 构造一个User对象
User user = new User();
// 赋值
BeanUtils.copyProperties(user, uForm);
// 然后调用JDBC、或操作Hibernate 持久化对象User到数据库
5.会话:sesssion对象—–cookie:客户端技术,程序将各个用户的数据以cookie的形式写给用户的浏览器,当用户浏览器访问服务器的资源时会带着各自的数据去。response.addCookie()
——session:服务器端的技术,服务器为每一个浏览器创建一个独享的session对象,
用户可以放数据和取数据从session对象中
Session=request.getSession();//若没有会创建session +id会以cookie传回浏览器
Session.setAttribute();
obj=Session.getAttribute(name,obj);
若cookie被禁止 URLEncoder.encode(“index.jsp?id=3”,”UTF-8”)

反射:加载类解析组成部分:
Class 代表某类字节码文件
—–Class clasz =Class.forName(完整名字)用于加载字节码文件到内存
claz. getConstructor
getMethod
getFiled
内省:introspector类
javabean: 类必须是具体的和公共的,并且具有无参数的构造器,
getXxx(),用来获取属性xxx。
setXxx(),用来修改属性xxx。
.getBeanInfo()//得到bean对象
pd=getPropertyDescriptor—–pd.getreadmethod ——-method=pd.getwritemethod//设置属性 method.invoke(people 45)

发布了17 篇原创文章 · 获赞 5 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章