×
畅享IT
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918
当前位置:畅享论坛 >  科技  >  服务器 > 正文
发帖
回复
(共 1 条) 上一页 1 下一页
查看: 636|回复: 1

[分享]Servlet与JSP笔记

[复制链接]

等级:试用期
行业:
职能部门:
城市:扬州市
金币:15

ServletJSP的关系

JSP是以另外一种方式实现的ServletServletJSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。

因此,当编写的页面显示效果比较复杂时,首选是JSP。或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而我们在处理业务逻辑时,首选则是Servlet

同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。

 

Servlet的生命周期(P56

Servlet运行机制和Applet类似,Servlet是在服务器端运行的,但是Applet是在客户端运行的。Servletjava.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。

Servlet的生命周期主要由3个过程组成。

1init()方法:服务器初始化Servlet

2service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。(详见P57

   doGetdoPostdoPutdoDelete……

3destroy()方法:调用该方法消灭Servlet对象。

   (在各个方法中打印字符验证顺序)

 

init()方法

只在Servlet第一次被请求加载的时候被调用一次,当有客户在请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。

 

Destroy方法

在移除Servlet实例之前调用,可用来保存状态

1、关闭数据库连接

2、停止后台运行的线程

3、将cookie列表和点击计数写入磁盘……

 

构建EXCEL电子表格(P144

使用Content-Type响应报头告之客户程序正在发送电子表格ApplesAndOranges.java

response.setContentType(“application/vnd.ms-excel”);

注意这里设置好格式后就可以使用任何在excel中承认的函数

 

Cookie

利用方式:

会话中标识用户

记录用户名和密码

定制站点

定向广告

发送cookie需要三个步骤:

创建cookie对象 Cookie c1=new Cookie(“a”,”123”)

设置最大时效 c1.setMasxAge()//

cookie放入到HTTP响应报头 response.addCookie(c1)

客户端读取cookie

resquest.getCookies//获得数组!!!

对数组进行循环,调用每个cookiegetName方法,直到找到感兴趣的cookie

在循环中调用getValue方法。

 

Session会话跟踪

服务器端:客户端 区别sessioncookie

步骤:

调用request.getSession();

查找相关联信息getAttribute();

 

JSP脚本形式

<%=Math.random()%>输出

<%=request.getParameter(“abc”)%>

<%Java code%>

可以访问所有自动定义变量(request,response,session,out)

不必在最顶端设置响应报头或状态代码;

清单11.6~11.7 p237

 

<%!  %>使用jsp声明

不产生输出:所以需要与JSPscriptlet结合使用。

不能使用jsp声明覆盖Servlet的标准生命期方法(servlet,init)

 

Jsp中,3种类型的指令:pageincludetaglib

P249 12.1~12.4属性

 

Simple属性

一个简单的属性表示一个伴随一对getset方法的变量。属性名与和该属性相关的getXXX()setXXX()方法名相对应。对于布尔类型的属性,读取该属性的方法是以is开头

 

使用的语法如下:

public void setPropertyName(<Property Type>newValue);

public <Property Type>getPropertyName();

public Boolean isPropertyName();

 

BEAN的应用(在JSP中)

Bean必须放在WEB-INF\classes\包名.类名

 

P281

Jsp:useBean——构建一个新的bean(id,class,scope,type)

<jsp:useBean id=”stringBean ” class=”bean.StringBean”/>

 

Jsp:getProperty——读取或输出bean属性的值

<jsp:getProperty name=”stringBean” property=”message”/>

<%=stringBean.getMessage()%>

 

Jsp:setProperty——修改bean的属性

<jsp:setProperty name=”stringBean” property=”message” value=”aa”>

<%stringBean.setMessage(“aa”);%>

 

共享Bean

SCOPEP291

Page(默认)

其作用域:在当前请求期间,除了要将Bean对象绑定到局部变量外,还应该将它放在PageContext对象中。

表示不共享Bean,只在当前页有效,也就是针对每个请求都要创建新的bean

P296bean.BakedBean.java+BakedBeanDiplay-page.jsp

 

JDBC连接步骤:

1)完成环境设置,导入java.sql包,命令如下:

     import java.sql.*

2)注册驱动器

3)连接到数据库

4)创建SQL语句

5)执行

6)处理结果

7)关闭

 

数据访问基本格式

Class.forName(“JDBC驱动程序”);

Connection conn=DriverManager.getConnection(相应JDBC驱动程序的连接串);

Statement stmt=conn.createStatement(结果集类型,结果集并发性);

ResultSet rs=stmt._executeQuery(“DQL语句”);

//如果是数据查询

stmt._executeUpdate(“DML语句”);//如果是数据操作

 

1、在lib文件夹中加入sqlserver的三个jar

2、对于javabean+jsp的数据库操作代码,如果数据表类型完全一样,仅需要改变工具类DBUtil.java中的dnve=”com.microsoft.jdbc.sqlserver.SQLServerDriver”;

url=”jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=payroll”;

String userName=”hh”;

String pass=”hh”;

Class.forName(driver);

conn=DriverMsnager.getConnection(url,username,pass);

3、其它对于数据表操作bean和使用beanjsp代码无需做任何改变

 

Struts2框架的基本工作流程

Struts2框架的基本工作流程可为5步:

1)客户端向Struts2容器发出HttpServletRequest类型的请求。

2FilterDispatcher接收改请求,并根据URL地址寻找并调用指定的Action类。

3Action类处理请求后,返回一个逻辑视图Result,该逻辑视图可映射至指定的物理视图(HTML页面或JSP页面或FreeMarker等其他视图技术)。

4)根据Result信息在struts.xml配置文件中找到对应的物理视图。

5)将物理视图呈现给客户端。



版主点评
zengmoxi2010-8-11 10:23+2金币虽然是软件开发内容,但还是鼓励一下。


畅享论坛提示:看帖后顺手回帖,是对辛苦发帖者的鼓励,是美德。

查阅更多相关主题的帖子: Servlet JSP 方法

等级:试用期
行业:电信设备及服务
职能部门:生产运营
城市:北京
金币:34
 发表于 2010/9/2 11:40:27 | 圈子 | 发送站内信 | 加为好友 | 邀请加入圈子
top第1楼

写的不错,适合俺!mark留名!

(共 1 条) 上一页 1 下一页
您还未登录,不能对文章发表评论!请先登录
2020-07-14 07:36:21 095/2020-07-14 07:36:21 126/2020-07-14 07:36:21 141