心得读书笔记

时间:2024.4.27

学习贯彻落实中央、省、市纪委全会和廉政工作会议精神

心得读书笔记:新时期纪检监察干部必须强化三种意识

建设一支高素质纪检监察干部队伍,既是反腐败斗争的内在要求,更是保障党的事业顺利发展的前提条件。因此,要把加强纪检监察队伍的自身建设,作为一项打基础、固根本、管长远、增长效的基础性工程来抓。我感受到,要提高纪检监察队伍的素质,必须强化以下三种意识。

一、要强化学习意识。当今时代,知识信息不断更新,对纪检工作和纪检监察干部队伍素质提出了新的更高的要求,面对新形势、新任务,纪检干部不能坐吃“老本”,必须加强学习,增强学习的主动性和自觉性,把学习作为加强自身建设的基础工作来抓。每一位纪检监察干部,都要不断加强政治理论学习,学好马列主义、毛泽东思想、邓小平理论和“三个代表”重要思想,深刻领会其丰富的内涵,用科学的理论武装头脑,指挥行动。同时,还要加强学习纪检监察业务、计算机网络等知识,学习人类所创造的一切优秀文明成果。通过学习,切实打好政治理论功底和业务知识根底,不断提高理论修养、文化业务素质和工作水平,不断拓宽自己的知识视野,切实提高做好纪检监察工作的艺术和水平,做到政治清醒,信念坚定,思想上、政治上与党中央保持一致,全面提高政策水平、理论水平、业务能力,成为工作上的多面手,业务上的行家里手,从而牢牢掌握反腐斗争的主动权,始终站在时代的前列。

二、要强化廉洁意识。治吏先治己,治己先正身。在新形势下,随着反腐败斗争的不断深入,纪检监察干部面临的考验也越来越严峻,如果自律意识不强,思想道德防线不牢,经不起腐蚀和诱惑,就会被人情风、关系网左右,被糖衣炮弹击中,以至执纪违纪、执法犯法。在这种责任重大和环境复杂的情况下,纪检监察干部能否始终经得住考验,抗得住诱惑,抵得住说情,管得住手脚,守得住纪律,耐得住清贫,事关纪检监察机关职能作用的发挥,事关案件查处的成败。而要具备和强化这些良好的素质,发挥好机关的职能作用,广大纪检监察干部就一定要加强党性修养和道德修养,经常学习《党章》和党纪条规,牢记职业道德,经常对照先进,解剖、反思自己的行为是否符合纪检监察干部的标准,一旦发现有所偏离,就要立即克服和纠正。首先要做“三老”干部,即做老实人、说老实话、办老实事,要坚决抵制一些不良风气的侵蚀,要把不说的话不说、不该做的事不做、不应该去的场合不去、不该交的朋友不交作为自己日常行为准则;其次要做“三戒”干部,即戒贪、戒浮、戒懒。要树立正确的世界观、人生观、价值观,经受住权利、金钱、美色的考验,做到见利不争、见钱不贪、见色不迷;再次要做“四自”干部,即自重、自省、自警、自励。总之,纪检监察干部心里始终要装着组织、装着群众、装着正义,时刻守住清贫、耐住寂寞、挡得住诱惑、经得起考验。真正做到“自省”、“慎独”、“自重”、“慎微”。要强化廉政意识、道德意识,做到秉公执法、清正廉洁、刚正不阿。正人先正己,己不正就失去了正人的资格,要求别人做到的,自己首先做到,禁止别人做的,自己坚决不做。

三、强化创新意识。创新是一个民族进步的灵魂,是一个国家兴旺发达的不竭动力。当前,党风廉政建设和反腐败斗争面临着许多新情况、新问题,纪检监察工作必须适应新形势、

新任务,用发展的眼光、创新的手段不断解决新问题,使之更具有时代性、广泛性、创造性。第一,要开拓视野。需看到腐败现象从表面上看是人、财、物没有管好用好,但从实质上看是制度措施不健全、不到位,标本兼治、治本为主的原则还没有坚持好。第二,要改进工作方式方法。在工作方法上,重点是要在教育方法上有所创新,要把对干部的教育阵地变成强大磁场,使之具有向心力和吸引力,而不能简单地重复。第三,要增强前瞻性和预见性。凡是预则立,不预则废,不谋全局者不足以谋一域,不想全局、不谋全局,工作就没有方向,有时就寸步难行。第四,要创新思维。坚持以思维创新为先导,用创新的思维、发展的眼光和专业的角度去发现问题、分析问题、解决问题,尤其要在源头防腐、治腐,案例分析、剖析,制度建立、健全等方面多下功夫,创造性地提出自己的见解、建议和对策,做好本职工作,以适应复杂多变的新时期纪检监察工作需要。同时,纪检监察工作也要紧密联系自身工作实际,从实处入手,创新工作特色,才能卓有成效地开展工作,提高服务经济建设的水平。


第二篇:韩顺平j2ee学习笔记与心得


·         Java EE概念:

Java EE是一个开放的平台,它包括的技术很多,主要包括十三种核心技术(java EE就是十三种技术的总称)。建立一个整全的概念。

要成为一个java EE程序员,必须掌握的技术是java,servlet,jsp。这是基础。

只有在上面的基础上再学 struts,hibernate,ejb,spring,webwork,jst等web框架。

J2ee的十三种技术(规范)

1.       java数据库连接(JDBC)。——JDBC定义了4种不同的驱动:1.JDBC-ODBC桥,2.JDBC-native驱动桥3,JDBC-network桥4.纯java驱动。

2.       Java命名和目录接口(JNDI)(它是为了对高级网络应用开发中的使用的目录基础结构的访问。)。

3.       企业Java Beans(Enterprise Java Beans,EJB)(它提供了一个架构来开发和配置到客户端的分布式商业逻辑,因此可以明显减少开发扩展性、高度复杂企业应用的难度。)。

4.       JavaServer Pages(JSPs)。

5.       Java servlets(servlets提供的功能大部分与JSP相同,JSP中大部分是HTML代码,其中只有少量的Java代码,而servlets则相反,它完全使用Java编写,并且产生HTML代码。)。

6.       Java IDL/CORBA(用得不多)。

7.       Java 事务体系(JTA)/Java事务服务(JTS)(用得不多)。

8.       JavaMail和JavaBenas激活架构(JavaBeans Activation Framework,JAF)。(JavaMail是一个用来访问邮件服务的API)。

9.       Java信使服务(Java Messaging Service,JMS)(JMS是一个用来和面向信息的中层通信的API)。

10.   扩展标记语言(Extensible Markup Language,XML)。

11.   12. 13当前流行的及格框架 struts+hibernate+spring(ssh).

Java ee的开发环境(eclipse)

Eclipse是一个开源的、可扩展的集成开发环境,已经成为目前最流行的j2ee开发工具。

Eclipse安装后就可以开发java se的项目了,但不能开发java ee项目,需要安装web开发插件(lomboz或是myeclipe)

Eclipse的官网:http://www.eclipse.org

myeclipse的官网:http://www.myeclipside.com/

java ee的开发中有几个重要的开发模式:

1.Model1模式  2.model2模式(model2x模式(用得少))  3.mvc模式

一、Model1模式

    Model1的基础是jsp文件,它由一些相互独立的jsp文件,和其它一些java class组成(不是必须的)。这些jsp从HTTPRequest中获得所需要的数据,处理业务逻辑,然后将结果通过Response返回前端浏览器。

    从上面分析我们可以看到model1模式可以分为两类:

1.  Model1(纯jsp技术,不带任何java class)。

2.  Model1(jsp+java class)。

Model1模式的缺点:

1.  表现层和业务层混合在一起(乱!)。

2.  在开发过程中,不利于多人协同开发。

3.  不利于后期维护。

Model1模式的优点:

1.  简单,开发速度较快。

2.  比较适合开发小的项目。

二、model1(结合java class)开发模式,有些书上称:mv模式,即:màmodel模型(java class,业务逻辑层)vàview视图(jsp,界面层)

1.一个数据库应一个类:ConnDB.java(得到连接)

    2.数据库中的每一张表对应两个类:(1)UserBean.java(表示users)类。(2)UserBeanCl.java(业务逻辑,即对users表的操作)类。

    如:

      login.jsp输入数据,logincl.jsp通过调用java class(模型)处理数据,wel.jsp显示数据。这是一种多么完美的开发模式。

   不足之处:

1.  Jsp技术主要做界面,但是logincl.jsp这里调用了java class(模型),完成对用户验证,显得有点怪怪的。

2.  Wel.jsp是用于显示用户信息(显示数据),但,wel.jsp除了显示数据,还调用了java class(模型),代码的优雅就荡然无存了,也不得于将来的分工。

3.  Servlet技术处理页面的跳转是最快捷和方便的,难道我们就此不用了吗?

      

三、mvc开发模式:M(model模型)V(view视图)C(controller控制器)

    MVC是一个设计模式,它强制性的使应程序的输入、处理、和输出分开。使用MVC应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

     M主要由java class来做,也可以是java beaneib

     Vjsp来做

     Cservlet来做

   对上的例子进行改进:

1.       增加控制器(servlet):将logincl.jspservlet来替代,发挥servlet充当控制中转的优势。

2.       在控制器(servlet)中去调用模型(model)去完成用户验证,并准备要显示的用户信息数据。

MVC开发模式的总结:

处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后调用模型来处理用户的请求并返回数据,最后控制器用相应的视图显示模型返回的数据,并通过浏览器呈现给用户。

Mvc模式存在的缺点:

1.工作量增加了。

由于开发者将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而意见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。

2.不适用小型项目,否则就是机关枪打蚊子。

3.调试应用程序难度加大。

Mvc提倡模型和视图分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫不顾忌的重用它们了。

数据库中用户名是中文,中文乱码问题(一般是要查询数据时,有中文字符才需要转码)

当提交表单时,表单中有中文,也会产生乱码。

   解决中文乱码问题,有三种方法:

1.  重新转码,如,有String u=”是中文”; u=new String(u.getBytes(“iso-8859-1”),”gb2312”);

2.  使用过滤器来解决[详解]

3.  通过修改Tomcat配置servlet.xml文件[不太稳定.],具体操作如下:

    <Connector port="8080" protocol="HTTP/1.1"  maxThreads="150"

connectionTimeout="20000"  redirectPort="8443" />改为:

<Connector port="8080" protocol="HTTP/1.1"  maxThreads="150"

connectionTimeout="20000"  redirectPort="8443" URIEncoding=”gbk”/>

在<Connector>元素中增加属性URIEncoding,其值为”gbk,表示客户端请求传送来的值均以gb2312的标准来编码,这样在业务处理中就不需要在对其编码进行转换,大在简化了程序,提高了执行效率。

request得到的是乱码时,可以这样解决(一定要这样写):

  name=new String(request.getParameter(“username”).getBytes(“ISO8859_1”),”gb2312”);

图片链接边框去掉:用<a href="#"><img src="" border="0"></a>就去掉了.

Servlet部分

Servlet开发流程(这是servlet规范,没有理由,只有这么做)

1.       在%TOMCAT_HOME%\webapps下建一个文件夹如(myWebSite),然后在该文件夹下新建WEB-INF的文件夹下,写一个web.xml(该网站的配置信息),建立一个classes的子文件夹,也可以从加的目录ROOT下拷贝.

2.       开servlet(引入servlet-api.jar,否则编绎不了)。

3.       部署你的servlet,在web.xml文件中:添加代码(看例子)。

   <servlet>

   <!--给你的servlet取名,任意的-->

        <servlet-name>hello</servlet-name>

       <!--指明servlet的路径,(包名+类名)-->

        <servlet-class>com.tsinghua.Hello</servlet-class>

   </servlet>

   <servlet-mapping>

   <!--给你的servlet取名,任意的-->

        <servlet-name>hello</servlet-name>

       <!--这是在浏览器中输入的访问该servlet的url,任意的-->

        <url-pattern>/sp</url-pattern>

   </servlet-mapping>

4.       启动tomcat,访问你的servlet,在浏览器的地址栏输入http://127.0.0.1:8080/myWebSite/hello,回车就可看到servlet的输出。

开发servlet有三种方法

1.       实现接口servlet来编写

2.       继承GenericServet类(该写了servlet接口,所以有和servlet相同的方法service)。

3.       继承HttpServlet类(该类有doGet,doPost方法)

Servlet的生命周期

1.       init()函数,用于初始化该servlet(类似于类的构造函数,该函数只会被调用一次(当用户第一次访问该页面的servlet时被调用。)。)。

2.       业务逻辑函数(如:service,doGet,doPost等方法)(当用户每访问该servlet时,都会被调用,它有两个参数:ServletRequest—用于获取客户端的信息,ServletResponse—用于向客户端返回信息)。

3.       destroy()函数,用于销毁servlet实例(释放内存),只有如下三种情况才会周用(1.reload该servlet(webApps),2.关闭tomcat,3.关机)值行了这个函数后,这个网站内的所有的session和conTest都被释放,为空。

表单提交数据get请求和post请求的区别

1.       从安全方面看get<post,因为get提交的数据会在浏览器地址栏显示

2.       从提交的内容大小来看get<post, get提交的数据不能大于2K,面post提交的数据理论上不受限制,但是实际编程中建议不要大于64K。

3.       从请求响应速度上看get>post,get要求服务器立即响应请求,而post请求可能形成一个队列请求。

从以上几点看,表单提交方式(method)建议用post

在sevlet中打印的html语句,可以不加引号

同一用户的不同页面共享数据的四种方法

1.  Cookie(小甜饼,在javax.servlet.http.*;这个包里面)(服务器在客户端保存用户的信息,比如登录名,密码…就是cookie,数据量并不大,服务器端在需要的时候可以从客户端读取。)。

Cookie的使用方法:①Cookie有点像一张表,分两列一个是名字,一个是值,数据类型都是String。②创建Cookie(在服务器端创建):Cookie c=new Cookie(String name,String val);③将Cookie添加到客户端:response.addCookie(c); ④读取Cookie(从客户端读到服务器):Cookie[] allCookie=request.getCookies();c.getName();c.getValue();方法读取⑤修改Cookie存在时间:c.setMaxAge(30);单位秒,为负则该cookie不会存储,为0则删除该cookie,如果不设置存在时间,那第该Cookie将不会保存。

2.  sendRedirect(地址跳转,注意中文处理)

3.  Session(会话技术)(当用户打开浏览器,访问某个网站时,服务器就会在服务器内存为该浏览器分配一个空间,该空间被这个浏览器独占,这个空间就是session空间,其中的数据默认存在时间为30min,可以修改(在conf—web.xml中修改))。

Session的使用方法:①得到session:HttpSession hs=request.getSession(true);

②向session添加属性:hs.setAttribut(String name,Object val);③从session得到某个属性:String name=hs.getAttribute(String name);④从session删除掉某个性性:hs.removeAttribute(String name);⑤修改session的存在的时间:hs.setMaxInactiveInterval(20);单位秒,为负则永远不超时,为0则马上超时。

因为session的各个属性要占用服务器的内存,因此软件公司都是在迫不得已的情况下才使用。

注意:以文件—新建—窗口,的方式打开窗口,session的ID是不变的,也就是同一个session空间

4.  隐藏表单提交(form)(input type=hidden name=““ value=““),在提交该表单时,能一并提交过去。(获取方式:req.getParameter(String name);)。

Cookie VS session

1.  存在的位置:cookie保存在客户端,session保存在服务器端。

2.  安全性:比较而言,cookie的安全性比session要弱。

3.  网络传输量:cookie通过网络在客户端与服务器端传输,而session保存在服务器端,不需要传输。

4.  生命周期(20分钟为例)①cookie的生命周期是累计的,从创建时,就开始计时,20分钟后cookie生命周期结束,cookie就无效。②session的生命周期是间隔的,从创建时开始时计时,如在20分钟,没有访问过session,那么session信息无效,如果在20分钟内,比如第19分钟时,访问过session,那么它的生命周期将重新开始计算。③另外,关机会造成session生命周期结束,但是对session没有任何影响。

使用ServletContext(和session一样,但是它所有的客户都可以访问)。

1.       得到ServletContext实例:this.getServletContext();

2.       你可以把它想像成一张表,这个和Session非常相似:每一行就是一个属性。添加属性:setAttribute(String name,Object ob); 

得到值:getAttribute(Stringname); 返回Object。

删除属性:removeAttribute(String name);

3.       生命周期:ServletContext中的属性的生命周期从创建开始,到服务器关闭而结束。

4.       使用ServletContext:的注意事项:因为存在ServletContext中的数据会长时间的保存在服务器,会占用内存,因此我们建议不要向ServletContext中添加过大的数据……. 切记

Servlet操作数据库注意事项

需要将连接数据库的3个jar包,拷贝到tomcat服务器

具体有两种方法可以:

(1).将.jar包拷贝到%tomcat%/lib文件夹

(2).或者在你的webapps目录的WEB-INF文件夹下建立一个lib文件夹,然后

把3个jar包拷贝到lib文件夹下

两种方法的区别:

第一种:所有webapps都可以使用3个jar包[公用库]。

第二种:只有放如jar包的那个webapps能使用jar包[独用lib库]。

特别要注意sql 注入漏洞:用户名和密码不能同时查询,可先用用户名查出密码,再用查出来的密码与输入的密码进行比较。

分页技术(方法)

我们先讲讲分页的算法:

我们需要定义四个量,它们有各自的用处,如下:

int pageSize:每页显示多少条记录

int pageNow:希望显示第几页

int pageCount:一共有多少页

int rowCount:一共有多少条记录

说明:

pageSize是指定的(常量)。

pageNow是用户选择的(变量)。

rowCount是从表中查询得到的(是个变量)。

pageCount是计算出来的,该计算式为:

    if(rowCount%pageSize==0)

    {

         pageCount=rowCount/pageSize;

}

else

{

      pageCount=rowCount/pageSize+1;

}

然后查询数据库,我们可能很自然的想到,用

select 字段列表 from 表名  where id between ? and ?

但是如果表的某个id被删除了,那么某页可能就会少一条记录。

因此最终解决方法是如下语句:

    select top pageSize 字段名列表  from 表名 where  id  not in

(select top pageSize *(pageNow-1)  id  from 表名)

   翻页的链接可以用下拉框或输入文本

网站框架问题分析

1界面和业务逻辑放在一起(model1模式),有以下问题:

     (1).有很多页面逻辑相似(如:操作数据库),有重复代码(一般一段代码重复了三次或三次以上,就应该把这段代码封装到一个函数里面去)。

     (2).整个框架没有清晰的层次关系,显得非常乱。

     (3).代码一点也不优雅,可读性差,可维护性差。

2.进行分层(界面层、业务逻辑层)[mv模式](m—>model模型,v—>view视图)

   (1).将常用的代码(比如边接数据库),封装到类中。(现在java中javaBean一般与数据库中表映射,充当表,如(UserBean.java(表示表),UserBeanCl.java(业务逻辑),ConnDB.java(得到连接)。))。

3.在UserBeanCl中,查询数据库,返回查询结果集时,要返回ArrayList集合,而不是直接返回ResultSet,原因如下:(rs代表ResultSet的一个对象)

   (1).如果返回ResultSet,那么我们在使用ResutlSet时,是不能关闭该RestultSet相互关联的数据库连接等资源,从而造成资源浪费。

   (2).如果返回ResutlSet,我们只能使用rs.getInt(?),rs.getString(?)…,这样的方法来得到结果,代码的可读性不好,维护起来不方便。

   (3).返回ArrayList集合方法(ArrayList作为中转,就可以尽快的关闭rs,数据库连接,同时更能体现面向对象编程,代码可读性更好。)如下:

        ①将rs中的每一条记录,封装成一个UserBean对象ub。

②将封装成一个UserBean对象ub放入到ArrayList集合中,利于管理。③从ArrayList结合中取出ub,然后使用。

Servlet中操作文件(和java 一样)

tomcat的配置:

1.       如何修改tomcat的端口(浏览器默认端口:80,可以不写)

(1)    需要启动两份tomcat服务器、服务占用了8080端口时可改

(2)    修改端口方法:修改%timcat%/conf/server.xml文件中port=“8080”数据修改成你需要的端口即可。

(3)    端口号,是用两个字节存放,范围在1~65530,但是1~1024是有名端口,很有可能被用,所以尽量设大一些。

2.       如何设置虚拟目录

(1)    tomcat所在的磁盘空间不够用了、为了统一管理,希望放在某个特定的目录下,而不是默认目录。

(2)    修改方法:修改%timcat%/conf/server.xml文件,在适当的位置(<Host></Host>中最后)添加如下信息:<Context path=“/mysite(站点文件夹名)” docBase=“c:\mysite(站点目录)” debug=“0”/>

3.       如何给tomcat的管理员设置密码

(1)    修改方法:修改%timcat%/conf/tomcat-users.xml文件中可以给管理员设置密码,密码设置可以防止非法用户远程登录到tomcat。

(2)    在默认情况下,管理员的密码是空密码,这样不法分子可能远程发布一个站点,并在某个servlet中加入一些可怕的语句(比如重启、关机…)。

(3)    利用密码为空搞破坏,步骤如下:

①     利用jdk自带的jar工具将有破坏的站点打包成*.war文件。使用jar工具需要配置jdk的环境变量path=%JAVA_HOME%/bin; 或者在你编绎时写入 set path=%path%;你的jdk目录\bin,这样即可在任何目录下使用jar命令,然后切换路径到需要打包的那个文件夹目录下;打包的命令是:jar –cvf war 文件名 *.*

②     通过tomcat管理页面将站点发布到tomcat

③     访问有破坏的代码的servlet,这样你就被黑了。

4.       如何设置数据源和连接池(公司常用!)(因为JDBC连接速度太慢)没测试出来,网上查

(1)    为什么使用:每次操作数据库,需要加载驱动才能得到一根连接,然后返回结果,加载驱动是要花时间的。

(2)    解决方法:配置”连接池”与”队列池”。”连接池”事先与数据库连接好了,并有了几根(可配置)连接,如果连接也中有空闲的连接,tomcat就分配给请求客户端;如果没有空闲的连接,请求客户端将会在队列池中等待(时间可配置),直到有连接。因为直接取连接,所以速度快。

(3)    修改方法:有两种方法(1)通过tomcat管理界面来配置(2)修改配置文件。修改%timcat%/conf/server.xml文件, 在指定的位置添加代码即可:

//**************************************************************

<Context path="/myWebSite1" docBase="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\myWebSite1" debug="0">

<!--name:给数据源设置名字(jndi) auth:表示该数据源是谁管理 type:类型-->

<Resource name="xuefeng" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="xuefeng">

<!--工厂设置-->

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<!--驱动设置,该驱动放在tomcat的common/lib下,或者放在该站点自己的lib目录下-->

<name>driverClassName</name>

<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

</parameter>

<parameter>

<!--设置url-->

<name>url</name>

<value>jdbc:microsoft:sqlserver://192.168.190.2:1433;DatabaseName=spdb</value>

</parameter>

<parameter>

<!--设置连接数据库的用户名-->

<name>username</name>

<value>sa</value>

</parameter>

<parameter>

<!--设置连接数据库的密码-->

<name>password</name>

<value>430482</value>

</parameter>

<parameter>

<!--在连接池中最大的激活连接数 -->

<name>maxActive</name>

<value>50</value>

</parameter>

<parameter>

<!--在连接池中最大的保留(空闲)连接数,用的人少时-->

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<!--客户端在队列池中最大等待时间,按秒计算,-1指一直等,直到有连接-->

<name>maxWait</name>

<value>-1</value>

</parameter>

</ResourceParams>

</Context>

//**************************************************************

如果要加中文注释,则必需得在最前加如下语句:

<?xml version="1.0" encoding="gb2312"?>

//*************************************************************

(4)    如何使用:如果使用连接池的方式来连接数据库,那么就要这样: 

Context ctt=new javax.naming.InitialContext();

DataSource ds=(DataSource)ctt.lookup("java:comp/env/数据源的名");//粉红//色的是:得到配置环境保护,这是固定写法

Connection Ct=ds.getConnection();

jsp部分

jsp的概述

  jspservlet技术的补充,访问jsp的过程:如果是第一次访问,jsp文件被服务器翻译

  成一个对应的java文件(servlet),然后,再被编译成.class文件并加载到内存中。如果是以后访问jsp,那就直接调用内存中的jsp实例,所以,第一次访问jsp慢,后面访问jsp的速度就会变快了。

为什么会出现jsp技术?

程序员在开发过程中,发现servlet做界面非常不好àjsp

一个公式:jsp=html+java片段+jsp标签+javascript(css)à比较综合

jsp功能的强大是因为可以与javabean结合使用(即:jsp作前台(界面),javabean作后台(逻辑层))。

Jsp+javabean的基础上再结合servlet,就会构成mvc的开发模式,Mvc模式是目前软件公司中相当通用的开发模式,是重点

Jsp的基本语法(冒号后面是举例)

(1)    指令元素---用于从jsp发送一个信息到容器,比如设置全局变量,文件字编码,引入包等,主要包括如下:

①       page指令:<%@page contentType=”text/html”;charset=gb2312%>

②       include指令:<%@include file=”filename”%>

③       taglib指令---这个指令允许在jsp页面使用自定义的标签:<myTag:yourTag num1=”123”>①①

(2)    脚本元素---在一定程度上可能理解就是java的片段scriplet

①       scriplet:<%java代码,可以和写java一样写%>

②       表达式:<%=java表达式%>  <%=rs.getString(1)%>

(3)    Declaration声明:<%!变量声明 %>比如:<%!int count=10%>

<%!函数声明 %>比如:

<%! int jssuan(int num)

{

    int result=0;

    for(int i=0;i<num;i++)

    {result=result+i;}

}

%>

(4)    动作元素---动作元素是使用xml语法写的,是jsp规定的一系列标准确性动作,在容器处理jsp时,当容器遇到动作元素时,就执行相应的操作。常用的几个如下:

①       <jsp:useBean> //创建一个jvabean实例

②       <jsp:setProperty> //给一个java实例设置初始值

③       <jsp:param> //给一个jsp设置参数,常常与<jsp:include>结合使用,如:

        <jsp:include file=”info.jsp”>

        <jsp:param name=”parameter1” value=”parameterValue”/>

        <jsp:param name=”parameter2” value=” parameterValue”>

        </jsq:include>

④       <jsp:getProperty> //取得一个javabean实例的成员变量

⑤       <jsp:include> //引入另外一个文件

⑥       <jsp:plugin> //使用插件

⑦       <jsp:forward> //转发

⑧       <jsp:fallback> //

(5)    jsp的九大内置对象(可以直接使用,不用创建。)

①       out (是servlet中如:PrintWriter out=res.getWriter();)//向客户端输出数据,字节流,如:out.println(“”);

②       request //接受客户端的http请求,如:

      getParameter(String name); //name表示表单的参数名

      getParameterValues(String name); //使用得到是String []

      setAttribute(String name,Object obj); //设置名字为name的obj,值为obj

      getAttribute(String name); //返回由name指定的属性值如果不存在就返回null

      getCookie(); 

③       response //封装jsp产生的回应,如:

      addCookie(Cookie cookie);

      sendRedirect(“welcome.jsp”);

④       session(是servelt中HttpSessio类的实例) //用于保存用户的信息,跟踪用户的行为

      setAttribute(String name,Object obj);

      getAttribute(String name);

⑤       application //多个用户共享该对象,可以做计数器

⑥       pageContext //代表jsp页面的上下文

⑦       exception //代表运行时的一个异常

      getMessage();

⑧       page //代表jsp这个实例本身(使用比较少)。

⑨       config //代表jsp对应的servlet配置,可以得到web.xml中的参数

jspservlet的区别:

(1)    jsp和servlet是对应关系:jsp文件被服务器翻译成一个对应的servlet文件并编译成.class文件,对应的servlet文件放在work目录下。

(2)    jsp是以servlet为基础的

(3)    jsp文件改变时,服务器能自动重新加载该文件,不需要重启服务器。

发送电子邮件(javamail)到用户信箱

sd

Js中验证字符串是否为数字:(1)可以Math.round(num)!=num  (2)使用正则表达式

做项目(网上商城):

一.系统分析与设计:

1.需求分析:

   i.系统描述:[系统可以做什么];

       电子商声场包括两个基本本部分,一个是前台销售程序,一个是后台管理程充。

     用户可以在前端浏览,搜索商品,能够看到最新的公告(如活动、物价商品),

     用户可以使用购物车购买商品,可以对入入购物车的商品进行处理,如修改数据量,从购物车中去除商品等,用户购完商品必须到服务台结帐,也叫下定单,用 户下完订单,可以打印或E-mail保留订单,以便收到商品时查对;

       后台管理程序,商家在此管理本企业的相关信息发布,录入,更改商品细信息,订单查询处理,并管理在商城里注册的用户。

   ii.角色(按照类来划分用户):

       1.前端用户

       2.系统管理员:可以细化为:商品和公告管理者:订单管理者

   iii.用例识别:

      在角色的基础上,可以识别出与角色相关的用例。

      前台用户:

系统管理员:

2.用例图

3.功能模块

做项目的步骤:

1.  界面(模仿)。

2.  数据库(表的设计)[界面(功能)--à猜出表来??](用户表和商品表)。

3.  建立web工程,testShopping

4.一步一步的画当前流程图

5.  开始写主页面(index.jsp)[界面用dw,界面我使用”死去活来”法,即先是静态的,然后才连接数据库,把它写活。],在dw中我们建html--à在myeclips中我们建立jsp。在开发界面时,我们使用table+css方式布局。在table+css方式布局中,常驻用的一个技巧是:在某行列中嵌入一个表格,可做精确布局。

CSS:是层叠样式表:控制网页的字体、颜色、大小、背景、边框……。

                       先会用,再会做。(flash,javascript,ps)

6.  把静态的页面向动态的页面修改[死去活来法]。

7.  Mvc 模式写 model和servlet部分的开发。

8.  HashMap的集合

a.       hashmap就像一张表

b.       key值是不能重复

c.       key值和value值,可以是java的object类型

hashmap充当购物车是很好

key值-------à书的id

values值-------à书的数量

hashmap提供了一堆好的函数

select * from goods goodsId in(1,2,3,5)

9.  对购物车可以增加,删除,清空,修改数量

       为了让servlet得到货物的id 的数量,可使用隐藏表单

10.              a.设计订单(怎么设计???)

表的设计:如设计定单表:如果设计为如下:

以上订单表,很容易操作,但是出现在数据冗余。

解决方法是:把重复的字段,单拿出来做一张表(订单表),把不重复的字段单拿出来做一张表(订单细节表)。如下图,两个表

这是就很好的解决了:

数据表的设计模式:表和表之间有多对多的关系时,就应当使用中间表来解决数据冗余的问题。

总结:通过定单细节表,把订单表和货物表的多对多的关系,简化成了一对多的关系,从机达到解决数据冗余的问题。

批量操作数据库:new Statement().addBatch(“sql语句”);

更多相关推荐:
读书笔记和心得.

读书笔记活着》读书笔记只要活着《活着》讲述的是一个叫徐福贵的老人一生的故事,这是一个历尽世间沧桑和磨难的老人.作者的笔触很平静,没有刻意去烘托一种跌宕起伏的气氛,随着作者平实的叙述中,经历着主人公的一生苦乐哀愁…

让一本书真正属于自己——关于如何做读书笔记

让一本书真正属于自己关于如何做读书笔记许多名家学者的经验早已证实坚持做读书笔记是提高读书效率的最好方法据说马克思为了写作资本论阅读和做札记的书籍就多达1500种以上列宁读过的书上常常写有眉批还写了读书心得内容摘...

读书笔记获奖

新浦区教师读书心得单位连云港市大庆路小学姓名刘倩日期20xx829索引窦桂梅主编优秀小学语文教师一定要知道的7件事中国青年出版社20xx年1月第l版观点摘要如何成为一名优秀的语文教师换言之要成为优秀的语文教师一...

读书笔记 计划

小学教师读书活动工作计划读书可以提高人的素质陶冶人的情操作为一名教师读书更为重要要想提高教师的文化素养知识含量读书是不可缺少的阅读不能改变人生的起点但可以改变人的终点营造书香校园教师这种特殊的职业就决定了每一位...

读书笔记

读书笔记穿行书林断简是葛兆光先生的一本文化随笔集里面收录的都是与书有关的文章在这些文字中一部分是书评多与学术有关一部分则是感想是作者读书之后的一些想法还有一部分则是作者自己论著的序文也是作者写书的缘由全书由卷首...

读书笔记总结心得

这学期的读书活动里,我觉得个人收获颇多。为什么这样说呢,因为我觉得我把时间都放到了我所热爱的地方上了,读书让我觉得我跟这个世界更加的接近,从中我获得了一些我所不知道的东西。我觉得一个人最怕的是什么,应该就是怕被…

读书笔记检查总结

读书笔记检查总结各位老师大家下午好:不用我赘述,大家都知道,作为普通人,我们需要读书,因为读书使我们智慧;作为教师,我们更需要读书。因为读书,使得在座的各位更具有与众不同的魅力。根据学校周工作安排计划,上一周星…

水浒传读书笔记

施耐庵12961371名子安一说名耳又名肇瑞字彦端号耐庵籍贯江苏兴化人身份中国古代著名作家元末明初人长篇古典小说水浒传作者水浒传原名荡寇志在当时为禁书后被人改名为现在的水浒传生平有关施耐庵生平事迹材料极少搜集到...

读书笔记

运算意义数量关系解题策略读后感义务教育阶段数学课程目标分为总目标和学段目标从知识技能数学思考问题解决情感态度等四个方面加以阐述教学中常常重视解决问题的教学重视学生能否用数学的方法策略思想等去解决数学问题以至日常...

教育读书笔记

新教育风暴读书心得最近我读了一本教育专著新教育风暴我用心读完后掩卷遐思不禁心潮澎湃真真切切的感受到了这位教育大师知识的渊博对教育至真的感悟与至纯的挚爱他对新教育理想追求的高瞻远瞩令我油然而生敬意我强烈的感觉到这...

读书笔记格式

读书方法指导学会写读书笔记一什么是读书笔记俗话说得好不动笔墨不读书真正的读书要做到心到口到眼到手到其中手到就是写读书笔记读书笔记是指人们在阅读书籍或文章时遇到值得记录的东西和自己的心得体会随时随地把它写下来的一...

好的读书笔记

格林童话读书笔记格林童话是通过寓教于故事的形式让读者开阔眼界增长知识懂得道理汲取到健康成长的丰富养料并且通过寓言故事教懂读者一些课本上未能学到的道理教会读者分辨善恶一分耕耘一分收获做人不能懒散智慧是进步的阶梯遇...

读书心得笔记(43篇)