几个Java Web函数的作用

创新互联专注于茂南企业网站建设,成都响应式网站建设,商城网站制作。茂南网站建设公司,为茂南等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
一,ServletContext():(zz)
Servlet容器在启动时会加载Web应用,并为每个Java Web应用创建唯一的ServletContext对象。可以把ServletContext看成是一个Web应用的服务器端组件的共享内存。在ServletContext中可以存放共享数据,它提供了4个读取或设置共享数据的方法。
1)setAttribute(Stringname,Objectobject):把一个对象和一个属性名绑定,将这个对象存储在ServletContext中;
2)getAttribute(Stringname):根据指定的属性名返回所绑定的对象;
3)removeAttribute(Stringname):根据给定的属性名从ServletContext中删除相应的操作;
4)getAttributeNames():返回Enumeration对象,它包含了存储在ServletContext对象中的所有属性名。
- packagemypack;
 - importjavax.servlet.*;
 - importjavax.servlet.http.*;
 - importjava.io.*;
 - importjava.util.*;
 - publicclassCounterServletextendsHttpServlet
 - {
 - publicstaticfinalStringCONTENT_TYPE="text/html;charset=GB2312";
 - publicvoidinit(ServletConfigconfig)throwsServletException{
 - super.init(config);
 - }
 - publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
 - doPost(request,response);
 - }
 - publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
 - //获得ServletContext的引用
 - ServletContextcontext=getServletContext();
 - //从ServletContext读取count属性
 - Integercount=(Integer)context.getAttribute("count");
 - //如果count属性还没有设置,那么创建count属性,初始值为0
 - //oneandaddittotheServletContext
 - if(count==null){
 - count=newInteger(0);
 - context.setAttribute("count",newInteger(0));
 - }
 - response.setContentType(CONTENT_TYPE);
 - PrintWriterout=response.getWriter();
 - out.println("");
 - out.println("
 点击计数"); - out.println("");
 - //输出当前的count属性值
 - out.println("当前计数是:"+count+"");
 - out.println("");
 - //创建新的count对象,其值增1
 - count=newInteger(count.intValue()+1);
 - //将新的count属性存储到ServletContent中
 - context.setAttribute("count",count);
 - }
 - publicvoiddestroy(){
 - }
 - }
 
在web.xml中为CounterServlet类加上
CounterServlet mypack.CounterServlet CounterServlet /counter - 测试通过。
 
1)刷新页面,count加1;
2)关闭浏览器,再打开新浏览器还是在原来基础上加1(即便由IE换成Opera);
3)如果重启Tomcat服务器,再访问CounterServlet,则count又初始化为0;
4)复制helloapp应用,改为helloapp1,再发布helloapp1,通过不同的浏览器窗口分别访问helloapp及helloapp1中的CounterServlet,发现这两个Web应用拥有各自独立的count属性。
即ServletContext对象只在Web应用被关闭时才被销毁;不同的Web应用,ServletContext各自独立存在。
二,以前不知道在struts-config.xml中还可以写数据库的配置,现在知道了,是可以在struts-config.xml中下
- <data-sourcekeydata-sourcekey="DATASOURCE"type="oracle.jdbc.pool.OracleDataSource">
 - <set-propertypropertyset-propertyproperty="description"value="ExampleDataSourceConfiguration"/>
 - <set-propertypropertyset-propertyproperty="driverClassName"value="oracle.jdbc.driver.OracleDriver"/>
 - <set-propertypropertyset-propertyproperty="URL"value="jdbc:oracle:thin:@10.171.33.12:1521;DatabaseName=ITDBT"/>
 - <set-propertypropertyset-propertyproperty="maxActive"value="10"/>
 - <set-propertypropertyset-propertyproperty="minCount"value="1"/>
 - <set-propertypropertyset-propertyproperty="user"value="vendorda1"/>
 - <set-propertypropertyset-propertyproperty="password"value="vendorda1"/>
 - <set-propertypropertyset-propertyproperty="autoCommit"value="true"/>
 
在这个里面配置好之后,如果想要建立一个数据库的链接就可以这样写。
- DataSourcedataSource=(DataSource)servlet.getServletContext().getAttribute(Action.DATA_SOURCE_KEY);
 - Connectionconnection=dataSource.getConnection();
 
三,ActionMessage的作用(zz)
ActionMessage、ActionMessages、saveMessages()、saveErrors()、之间的关系及用法
ActionMessage功能是:用来产生STRUTS消息的包括正常消息和错误消息。注(原有ActionError方法来产生错误消息,但已废弃,但仍可使用。)例:ActionMessage(key,object);其中key为在appication.properties中指的key值。object为消息中要传入的参数,这里实现了动态传入。如果要传多个参数时,object处可以改为数组。
ActionMessages功能:是作为容器(map)来存ActionMessage的。例::ActionMessagesams=newActionMessages().ams.add("id",ActionMessage).
saveErrors功能:是用来存储ActionMessages,例:saveErrors(ActionMessages,scope)这里有个隐性的error_key作为KEY与ActionMessages对应。scope值为:application,session,request,page.默认为page范围。
saveMessages功能:是用来存储ActionMessages,例:saveMessages(ActionMessages,scope)这里有个隐性的message_key作为KEY与ActionMessages对应。scope值为:application,session,request,page.默认为page范围。
取出ActionMessage消息STRUTS提供了两种标签:
1.
2.
以上这些过程的实现都是通过操作(page到application)四个范围当中的attribte属性为实现的。
【编辑推荐】
                文章题目:总结JavaWeb中几个函数的作用
                
                地址分享:http://www.csdahua.cn/qtweb/news11/189911.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网