web总结

时间:2024.4.21

1.     Web资源分为主动资源被动资源,Web文档分为静态文档被动文档

2.     Web应用程序通常是主动资源被动资源的混合。

3.     当浏览器发送一个请求,Web服务器就在myserver.com上将请求转发给reportServlet,该Servlet将生成HTML文本并把它发送给浏览器,该Servlet就是一个主动资源。

4.     任何Web应用程序在其WEB-INF目录下都应该有一个部署描述文件,它是一个名为web.xml的文本文件。该文件是一个XML文件,它的最外层是<web-app>,其中包含两个子元素<servlet>和<servlet-mapping>。

5.     HTTP请求结构:请求行请求头空行数据。

6.     HTTP请求方法

7.     在HttpServlet类中,除定义了service()方法为客户提供服务外,还针对每个HTTP方法定义了相应的doXxx()方法。

8.     所有的doXxx方法都有两个参数:HttpServletRequest对象和HttpServletResponse对象。

9.     HTTP方法及相应的处理方法:

11.为实现请求转发,需要使用RequestDispatcher对象,通过ServletRequest接口中定义的getRequestDispatcher()方法得到该对象。

12.HTTP响应的状态行由三部分组成:状态行、响应头、响应的数据。

13.HTTP响应的状态行由三部分组成,各部分由空格分隔:HTTP版本、说明请求结果的相应状态码以及描述状态码以及描述状态码的短语。

14.HTTP定义了许多状态码,常见的状态码是200,它是表示请求被正常处理。

15.Data响应头表示消息发送的日期:Content-Type响应头指定响应的内容类型:Content-Length指示响应内容的长度。

16.调用响应对象的getWriter()方法可以得到PrintWriter对象,调用响应对象的getOutputStream()可以得到ServletOutputStream对象,使用它可以向客户发送二进制数据。

17.Servlet可能决定不直接向浏览器发送响应,而是将相应将重定向到其他资源,这可通过HttpservletResponse接口的sendRedirect()方法实现。

18.在Servlet中直接使用ServletConfig接口对象有两种方法:(1)在servlet中直接使用getServletConfig()方法获得ServletConfig对象;(2)覆盖servlet的Init(ServletConfig config)方法,然后把容器创建的ServletConfig对象保存到一个成员变量中。

19.在Servlet中可以有两种方法得到ServletContext引用:(1)直接使用Servlet的getServletContext()方法;(2)使用getServletConfig()方法得到ServletConfig引用,再调用它的getServletContext()方法。

20.HttpSession接口中定义常用的方法:(1)public String getId()方法,返回为该会话指定的唯一标识符;(2)public long getCreationTime()返回会话创建的时间(3)public long getLastAccessdTime()返回会话最后被访问的时间(4)public boolean isNew()如果会话对象还没有同客户关联,则返回true(5)public ServletContext getServletContext()返回该会话所属的ServletContext对象。

21.<session-timeout>元素中指定的 以分钟为单位的超时期限,0或小于0的值表示会话永不过期,默认为30分钟。

22.Public viod setMaxInactiveInterval(int interval)设置在容器使该会话失效前客户的两个请求之间最大间隔的秒数,参数为负值,表示会话永不失效。

23.Public int getMaxInactiveInterval()返回以秒为单位最大的间隔时间,在这段时间内容器将在客户请求之间保持该会话打开状态。

24.Public void invaliddate()是会话失效并解除绑定到其上的任何对象。

25.Cookie的常用方法:public String getName()返回cookie名称;public String getValue()返回cookie的值。

26.JSP页面元素分类:<%! 声明 %>;<% 小脚本 %>;<%= 表达式 %>;<%@ 指令 %>;<jsp: 动作名 />;${applicationScope.email }(EL 表达式);<%- - 注释 - -%>.

27.指令的三种类型:page指令,include指令,taglib指令。

28.JSP页面生命周期阶段:页面转换、页面编译、加载类、创建实例、调用jspInit()方法、调用_jspService()方法、调用jspDestroy()方法。

29.Page指令的属性:import:导入在JSP页面中使用的Java类和接口列表,其间用逗号分隔;contentType:指定输出的内容类型和字符集;pageEncoding:指定JSP文件的字符编码。

30.JSP使用的隐含变量:application、session、request、response、out、page、pageContext、config、exception。

31.Jsp作用域对象:应用作用域,application,在整个web应用程序中有效;

会话作用域,Session,在一个用户范围内有效;请求作用域,request,在用户的请求和转发的请求内有效;页面作用域,pageContext,只在当前的页面内有效。

32.Sun公司在推出JSP技术后提出了简历Web应用程序的两种体系结构方法,这两种方法分别称为JSP Model1体系结构和JSP Model2体系结构。

33.Model2体系结构又称为MVC(Model-View-Controller)体系结构或MVC设计模式,这种结构将Web应用的组件分为模型,视图,控制器。、

34.JDBC的基本功能包括:建立与数据库的连接;发送SQL语句;处理数据库操作结果。

35.两层模型即客户机/数据库服务器结构,也就是通常所说的C/S结构。

36.三层模型即客户机/应用服务器/数据库服务器结构,即通常所说的B/S结构。

37.加载JDBC驱动程序最常用的方法是使用Class类的forName()静态方法。

38.<Resource>元素各属性的含义:name:数据源名;driverClassName:使用的JDBC驱动程序的完整类名;url:传递给JDBC驱动程序的数据库URL;username:数据库用户名;password:数据库用户口令;type:指定该资源的类型,这里为DataSource类型;maxActive:可同时为该连接池分配的活动连接实例的最大数。

39.监听器可分为三类:ServletContext事件监听器,HttpSession事件监听器,ServletRequest事件监听器。

40.<listener>元素只有一个子元素<listener-class>用来指定监听器类的完整类名。

41.Servlet规范中过滤器一些常见应用:验证过滤器,登录和审计过滤器,数据压缩过滤器,加密过滤器,XSLT过滤器。

42.Struts框架是基于MVC设计模式的Web应用开发框架,它主要包括核心控制器,表单bean,动作对象,JSP页面和配置文件等。

1.     超文本传输协议(Hypertext Transfer Protocol,HTTP)是Web使用的协议,该协议规定了Web客户与服务器之间如何通信。

2.     静态文档:在Web发展的早期,Web文档只是一种以文件的形式存放在服务器端的文档,客户发出对该文档的请求,服务器返回这个文件,这种文档称之为静态文档。

3.     动态文档:动态文档是指文档的内容可根据需要动态生成,动态文档又分为服务器端动态技术和客户动态文档技术。

4.请求参数是随着请求一起发送到服务器的数据,它是以名/值对的形式发送的。

5.JSP是JavaServlet Pages的缩写,含义是Java服务器页面,它与PHP非常相似,只不过页面中的动态部分是Java语言编写的,使用这种技术的文件的扩展名为jsp

6.当浏览器发送一个请求,Web服务器就在myserver.com上查找myfile.html文件,然后把它返回给浏览器,它是被动资源,又称之为静态资源

1.     请求响应过程:

Web浏览器首先建立到Web服务器的连接并向服务器发送HTTP请求消息。服务器接收到客户的请求后,对请求进行处理,然后向客户发送回响应。客户接收服务器发送的HTTP响应消息,对消息进行处理并关闭连接。

2.     Servlet生命周期的四个阶段:

加载和实例化Servlet;初始化Servlet;为客户提供服务;销毁和卸载Servlet。

3.GET方法和POST方法的区别:

GET方法的资源类型可以是主动也可以是被动的,数据类型为文本型,数据量一般不超过255个字,数据是URL的一部分,在浏览器的URL地址栏中用户可见,数据可以在浏览器的URL历史缓存。POST方法的数据类型是主动的,数据类型是文本或二进制数据,数据量没有限制,数据不是URL的一部分而是作为请求的信息体发送,因此在浏览器的URL地址栏中对用户不可见,数据不能在浏览器的URL历史中缓存。

4.在客户端如果发生下面事件之一,浏览器就向Web服务器发送了一个HTTP请求:用户在浏览器的地址栏中输入URL并按Enter键;用户单击了HTML页面中的超链接;用户在HTML页面中添写一个表单并提交。

5.Web服务器跟踪客户的状态通常有4种方法;使用servlet API的session机制;使用持久的cookie对象;使用URL重写机制;使用隐藏的表单域。

6.使用Httpsession对象的三个步骤:为客户创建或获得与请求关联的会话对象;在会话对象中添加或删除名/值对属性;如果需要可使会话失效。

7.向客户端发送Cookie的步骤:(1)创建cookie对象;(2)设置cookie的最大存活时间;(3)向客户发送cookie对象。

8.理解页面转换的过程:(1)所以的JSP都变成产生的servlet类的一部分(2)所有的JSP小脚本都变成jspService()方法的一部分,在Java语言中不能在方法中定义方法(3)所有的Jsp表达式都成为_jspService()方法的一部分,表达式的值使用out.print()语句输出。

9.静态包含和动态包含的区别静态包含是在Jsp页面转换阶段将另一个文件的内容包含到当前的Jsp页面中,使用JSP的include指令完成这一功能。语法为:<% include file=”relativeURL”%>;动态包含是通过JSP标准动作<jsp:include>实现的,<jsp:include>动作的功能是把被包含的页面的输出包含到当前页面的输出。该动作格式为<jsp:include page=”relativeURL” flush=”true/false” />

10.JavaBeans就是使用Java语言定义的类,可以在JSP页面中作为JavaBeans使用的情况:(1)JavaBeans应该是public类,并且必须具有无参数的public构造方法(2)JavaBeans类的成员变量一般称为属性,对每个属性访问权限一般定义为private或protected,而不定义为public的,属性名必须以小写字母开头(3)对每个属性通常定义两个public方法,一个是访问方法,另一个是修改方法,他们允许访问和修改JavaBean的属性值。

11.<jsp:useBean>的属性:id:在JSP中bean名称的标识;scope:bean实例的作用域(page,request,session或application,默认值为page);class:bean的Java完整类名;type:指定用来引用bean的类型;beanName:从文件装载的序列化的bean的名称或创建一个新实例的类名。

12.使用MVC色及模式开发Web应用程序可采用如下步骤:定义JavaBean表示数据;使用Servlet处理请求;填写JavaBean对象数据;结果存储;转发请求到JSP页面;从JavaBean对象中提取数据。

13.传统数据库的连接方法:加载驱动程序;建立连接对象;创建语句对象;获得SQL语句的执行结果;关闭建立的对象。

....................................................................

Web.xml文件:

<servlet>

<servlet-name>loginServlet</servlet-name>

<servlet-class>com.model.LoginServlet</servlet-class>

<init-param>

<param-name>greeting</param-name>

<param-value>good morning</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>

   <servlet-mapping>

<servlet-name>EventTestServlet</servlet-name>

<url-pattern>/eventtest</url-pattern>

</servlet-mapping>

BookqueryServlet.Java

package com.control;

import java.io.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

import com.model.BookBean;

public class BookQueryServlet extends HttpServlet{

       Connection dbConnection;

       public void init(){

       String driver = "org.postgresql.Driver";

       String dburl = "jdbc:postgresql://127.0.0.1:5432/bookstore";

       String username = "bookstore";

       String password = "bookstore";

       try{

       Class.forName(driver);

dbConnection=DriverManager.getConnection(dburl,username,password);

}catch(ClassNotFoundException e1){

}catch(SQLEXCEPTION e2){}

}

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

String bookid = request.getParameter("bookid");

try{

String sql = "SELECT * FORM books WHERE bookid=?";

PreparedStatement pstmt = dbConnection.prepareStatement(sql);

pstmt.setString(1,bookid);

ResultSet rst = pstmt.executeQuery();

if(rst.next()){

BookBean book = new BookBean();

book.setBookid(rst.getString("bookid"));

book.setTitle(rst.getString("title"));

book.setAuthor(rst.getString("author"));

book.setPrice(rst.getDouble("price"));

book.setPublisher(rst.getString("publisher"));

request.getSession().setAttribute("book",book);

RequestDispatcher view = request.getRequestDispatcher("/showBook.jsp");

view.forward(request,response);

}else{

RequestDispatcher view = request.getRequestDispatcher("/error.jsp");

view.forward(request,response);

}

}catch(SQLException e){

e.printStackTrace();

}

}

public void destroy(){

try{

dbConnection.close();

}catch(Exception e){

e.printStackTrace();

}

}

}

....................................................................

showBook.jsp

<%@ page contentType="textml; charset=gb2312" pageEncoding="gb2312"%>

<jsp:useBean id="book"  type="com.model.BookBean" scope="session" />

<html><body>

<table border="0">

<tr><td>书号:</td>

  <td><jsp:getProperty name="book"  property="bookid"/></td>

</tr>

<tr><td>书名:</td>

  <td><jsp:getProperty name="book"  property="title"/></td>

</tr>

<tr><td>作者:</td>

  <td><jsp:getProperty name="book"  property="author"/></td>

</tr>

<tr><td>出版社:</td>

  <td><jsp:getProperty name="book"  property="publisher"/></td>

</tr>

<tr><td>价格:</td>

  <td><jsp:getProperty name="book"  property="price"/></td>

</tr>

</table>

</body>

</html>

更多相关推荐:
web实训总结

七、设计总结:1)、首先确定网站的目标是关键,明确谁是网站将来的访问者。确保目标和主题明确、数据充分并保持目标的简洁性。其次是确定网站的主题风格和创意点。主题选材要小而精,最好是选择自己擅长或感兴趣的内容。选题…

web应用开发实训总结

实训总结这学期将要结束,在最后的WEB实训的这三周中,我弄懂了许多在上课中不曾理解的东西,比如如何连接数据库,如何将用户控件绑定数据库,如何编写后台代码。我认为这三周的实训,对我来说是及其重要的,它让我巩固了这…

Java Web实训总结

Jspservletmysql论坛项目实训总结实训人程路峰学号11103303通过为期10天的实训我学习了很多关于JavaWeb的知识在老师的正确指导下顺利的完成了我的实训内容在此也有同学的帮助在他们的帮助下我...

web 实训报告

计算机工程学院实习报告课程名称:网页编程基础学生姓名:学号:指导教师:专业:计算机科学与技术(嵌入式)班级:实训时间:20XX.6.16-20XX.6.27摘要:在21世纪,互联网已经成为人们生活工作必不可少的…

web开发技术实训报告

ltweb开发技术gt实训报告姓名曾晖班级09网络01班网站类型个人网站指导老师曾小亮实训时间20xx122020xx1230一实习目的让学生了解网站的制作流程和基本技法Dreamweaver的使用掌握利用II...

Java web实训报告

娄底职业技术学院JavaWeb课程设计报告娄底职业技术学院LOUDIVOCATIONALANDTECHNICALCOLLEGEJAVAWEB课程设计报告书课题电子离校系统系部电子信息工程系班级12软件1班东宝订...

web项目总结

第二阶段项目总结这是第二次做项目了,虽然每次做的并不是什么很大的项目,但做项目的过程中却真正体会了其中的艰辛与快乐。一个个问题解决时的快意,一个个问题产生后的迷茫,都让我回味无穷。乱七八糟的讲呢也不知道从哪讲起…

基于web的Java开发设计实训报告

PINGDINGSHANUNIVERSITY基于web的Java开发设计实训报告题目基于的系统的设计与实现院系软件学院专业年级姓名学号指导教师20xx年5月30日基于web的Java开发设计实训报告目录1绪论1...

web网站设计实训报告(范文)1

附录1设计报告封面湖南娄底职业技术学院web网站设计课程设计报告设计题目个人网站系部电子信息工程息专业学生姓名黄永凤学号起迄日期年月年指导教师教研室主任一网站的需求分析对于个人网站而言一个好的网页会给人留下深刻...

web设计实训报告模板

重庆三峡学院Web应用设计项目报告项目题目系部专业项目组长项目成员起始时间20xx年1月2日结束时间年月1项目的总体目标及系统需求分析运用已经掌握的知识完成网站通过此次设计可以达到全面理解运用网页制作的知识并使...

javaweb 实训报告

1实习题目java软件开发2实习目的本人由于在达内实训时各项成绩优异被北京木联能科技有限公司录用为java软件开发实习生作为即将步入社会的应届毕业生我带着无比激动的心情和远大的理想到北京木联能科技有限公司实习实...

百度实习生招聘笔试题-web前端开发

百度的每个职位笔试题都不一样我做的是web前端开发的题一简答题1Aprototypename是什么含义用来解决什么问题2javascript的函数题考一下应聘者对JS面向对象编程中的继承方式的理解类似下面fun...

web实训总结(11篇)