Jsp基础知识总结.

原创 2007年01月24日 22:57:00

     Jsp我们学完也有好长一段时间间了,过程中总结的一点点基础知识,拿来与初学者分享,直到最后做我们一个小小的项目,宠物医院,也是用我们最简单的工具Jcreater4.0来做的,呵,到了Ecliplse下才发现,开发速度如此之快,不过这样也打好了我们的基础....不多说了,把所学到的小小总结发来至此吧,愿给初学者带来便利,同时愿高人给以指点不足之处.....

    首先来说一下我们jsp的课程:第一部分为Servlet技术,包括Servelt入门,会话跟踪,JavaMal和Servlet.第二部分就是Jsp技术,包括:jsp简介,jsp脚本和指令的使用,jsp隐式对象,JavaBean与jsp中的标准动作,jsp表达式语言,自定义标签,jsp自定义表签库.第三部分就是过滤器的设计模式,包括过滤器和MVC设计模式.

    一.Servlet知识及常见错误和规律.

1.桌面运行程序与WEB应用程序在过程实质是一样的---基于请求与响应的过程.
2.http协议(超文本传输协议)
  1).无状态:多次请求信息之间无联系.
  2).用于internet发送请求和响应消息
  3).使用端口接收和发送消息,默认为80端口.
端口:为内存缓冲区(多线程接收数据)
windows: 0---65535端口
  0---4096为系统端口
3.什么是Servlet?
  Server let服务器端小程序.
  用来处理客户端发送的请求,并由服务器响应给客户端的java编写的程序.
  Servlet只在服务器运行

4.Servlet详解:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet
{
          public void doGet(HttpServletRequest request,HttpServletResponse response)
                        throws ServletException,IOException
          {
                       response.setContentType("text/html;charset=gb2312");
                       request.setCharacterEncoding("gb2312");
  
                        response.sendRedirect("Login.jsp"); //重定向方法
                        request.getParameter("");  //读取客户端数据

                       / /以下方法为转发,不同于重定向的是:转发时数据不丢失.
                      ServletContext context=this.getServletContext();
                      RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");
                      dispatcher.forward(request,response); 
  
                      ...//以下方法为包含(用得相对较少)
                     dispatcher.include(request,response);

          }
         public void doPost(HttpServletRequest request,HttpServletResponse response)
                        throws ServletException,IOException
         {
                     doGet(request,response);
         }
}

 (2).当需要向Servlet传递参数的时候,Src="Servlet?name=' '  ";

5.执行servlet时,发生下载提示:

(1).可能性一:text/html;charset=GBK中间分号写成逗号.
(2).可能性二:XML中配置信息出错.
(3).可能性三:如定义全局变量时,例:CONTENT_TYPED在以后所用中放在双引号之中.
(4).可能性四:当上面的text/html,charset中写错字符的时候,也会提示下载.

6执行servlet时,发生404错误:

(1).多为xml中配置出错.
(2).可能在servlet通信方法中url出错.
(3).表单提交时:action路径.
(4).比较弱智的错误就是标记写错,请仔细检查.

7.执行servlet时,发生403错误:

(1).tomcat下站点里发生错误.

8.执行servlet时,发生405错误:

(1).servlet中没有post提交方法时.

95.执行servlet时,发生500错误:

(1).多数为servlet程序代码中发生异常错误.

10.执行时,取出的数据为null.就要根据实际情况对应错误提示去找.

11.执行jsp页时,发生500错误提示....
  
        多数为jsp页面在转译过程中发生编译错误! 甚是严重错误,可以按提示回头去找...

二.XML配置

<!--config中的配置信息,当中配置需要在servlet中的xml中-->
<servlet>
 <init-param>
  <param-name>sess</param-name>
  <param-class>com.serv<param-class>
 </init-param>
    <servlet-name>Myservlet</servlet-name>
    <servlet-class>com.Myservetl</servlet-class>
</servlet>

<!--此为对Myservlet进行映射-->
<servlet-mapping>
 <servlet-name>Myservlet</servlet-name>
 <servlet-class>/url</servlet-class>
<servlet-mapping>

<!--context中配置信息-->
<context-param>
 <param-name>ses</param-name>
 <param-class>com.ser</param-class>
</context-param>


注意:配置信息只能读取,并且config是在单个Servlet中能访问,context是全局访问

三.
========================会话跟踪技术总结========================

用户授权.
隐藏表单域
URL重写
Cookie使用
--------------------------------------------------------------------------------------------
1.会话:是同一客户端和服务器之间在同一段时间的多次请求和响应.

2.Session使用(重点)

  HttpSession session=request.getSession();
  session.setAttribute("name",Object); //附值
  session.getAttribute(); //取值
  session.removeAttributer();

3.Cookie(类)
 1).Cookie是什么?
      cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).
      每次请求,响应中都会为cookie留有空间.
 2).用法:
        Cookie cookie=new Cookie("name",cookie); //必须指定cookie的键与值,且必须为字符串.
        response.addcookie(cookie);
        cookie.setMaxAge(3600);  //以秒为单位.
 
 //读取客户端发送过来的cookie,返回值类型为: cookie数组
 request.getCookies();
 //循环读取键与值.

   使用过程:(1).生成cookie, new cookie("","")
   (2).设置生存周期 >0,SetMaxAge(秒).
   (3).发送到客户端:response.addCookie(cookie);

小常识:(1).一个网站最多向一个客户端写20个cookie.
             (2).一个客户端最多接收300个cookie.

4.Session与Cookie这间的关系:
session的ID作为Cookie的值在客户端与服务器之间进行传递.
--------------------------------------------------------------------------------------------

四.构建实体Bean的原则:

/*
 *  1.bean类为公有
 *  2.类成员为私有
 *  3.必有一个无参构造
 *  4.有set()和get()方法
 *  5.方法命名为setXxx()或getXxx()方法
*/

五.MVC实现数据封装

此数据封装标准按MVC总结.

所需内容: 1.Servlet 2.JavaBean 3.OperBean(DBconnection) 4.Jsp

  由Servlet提取前台数据,然后将数据封装于JavaBean中,再实例化OperBean,调用OperBean中方法,
将JavaBean对象以参数的形式传过去,并进行一系列的操作后,返回数据存入ArrayList中或者其它集合内,并将集合对象封装Session对象中,便于在前台取值.

Servlet控制:

  ........
 Arraylist lis=new ArrayList();

 String name=request.getParameter("username");
 
 JavaBean bean=new JavaBean();
 bean.setName(name);
 
 OperBean oper=new OperBean();
 lis=oper.operMethod(bean);

 HttpSession session=request.getSession();
 session.setAttribute("list",lis);

OperBean逻辑:
 ...
 public ArrayList OperMethod(JavaBean bean)
 {
  ArrayList lis=new ArrayList();
  String usr=bean.getName("name");
  
  String sql="select * from student where name='"+usr+"'";
  
  DBconnection db=new DBconnection();
  ...//操作数据业务
  
  return lis;
 }

前台业务:
 ...
 ArrayList list=(ArrayList)session.getAttribute("lis");
 Iterator ite=list.iterator();
 while(ite.harNext())  //遍历输出
 {
  JavaBean bean=(JavaBean)ite.next();
  .
  //取bean中值
 }


//由此可以进行"用户登陆","数据的增删改查","注销登陆"等操作.....

 以上所有jsp技术都是没有与struts等框架相关的,只是简单的MVC思想,只有懂得以上简单的思想,才可以进一步的对框架这些高层次的东西钻研,我感觉是如此,毕竟我也是个初学者,还有好多知识不懂,也在不停的学习之中,如果有哪个朋友有好的见意或者好的学习方法,请多多指教!

jsp常用知识点总结

JSP常用知识点总结 JSP 定义: 1)Java Server Page, Java EE 组件,本质上是 Servlet。 2)运行在 Web Container.接收 Http...
  • zhang_hongli_li
  • zhang_hongli_li
  • 2015年09月18日 19:19
  • 3806

JAVA入门基础知识小结

从C++到Java入门基础知识小结...
  • CSDN_SXL
  • CSDN_SXL
  • 2016年01月26日 15:02
  • 7336

linux基础知识总结

Linux是多用户,多任务的操作系统,这意味着多人可以同时使用一台主机。因为每个用户的个人喜好与隐私问题,文件的所有者就显得尤为重要。将用户分为不同的组别当然是为了方便管理。因此用户与文件之间的关系就...
  • wangdan199112
  • wangdan199112
  • 2015年02月28日 20:07
  • 1369

Java基础总结之各个模块重要知识点

一:对象模块。 一.初始化 1.对this.super,构造函数,构造代码块,静态代码块总结。 this:代表当前对象,也就是所在函数所属对象的引用。 this对象后面加.调用的是对象的成员变量和方法...
  • qq_19776363
  • qq_19776363
  • 2015年08月12日 10:45
  • 8549

Java基础知识总结(绝对经典)

本人学习java时,做的java基础知识总结:写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1、2、3 。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的j...
  • xmc281141947
  • xmc281141947
  • 2017年01月18日 09:47
  • 851

PHP基础知识总结(w3c)

刚开始学习PHP,以后大家多多指教: 学习后台是一个漫长的过程,刚学PHP,总结了一小部分,有人会问为什么把W3C的东西拷贝出来分享呢? 我的回答是:W3C都是一些入门基础,很有实在意义,...
  • u013808667
  • u013808667
  • 2016年06月14日 11:30
  • 452

JAVA基础知识总结

一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言...
  • chmodzora
  • chmodzora
  • 2017年03月20日 23:19
  • 249

C++基础知识汇总

C++面试题——基础概念篇 唐璐 http://blog.csdn.net/worldwindjp/         面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿...
  • weiyuefei
  • weiyuefei
  • 2016年08月01日 20:59
  • 957

Java基础知识总结(绝对经典)

本人学习java时,做的java基础知识总结: 因内容较多,提供原文链接下载。   写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3...
  • xyzopq100
  • xyzopq100
  • 2016年02月18日 09:28
  • 109024

JavaWEB基础知识总结

什么是WEB、WEB服务器有什么用、如何开发WEB应用以及tomcat 的使用
  • Z_HaiSome
  • Z_HaiSome
  • 2016年10月26日 19:44
  • 315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jsp基础知识总结.
举报原因:
原因补充:

(最多只允许输入30个字)