zoukankan      html  css  js  c++  java
  • 博客开通第63天

    JSP方面的知识(1):

    一.JSP入门之Servlet知识及常见错误和规律.

    1.桌面运行程序与WEB应用程序在过程实质是一样的---基于请求与响应的过程.

    2.http协议(超文本传输协议)

    ◆无状态:多次请求信息之间无联系.

    ◆用于internet发送请求和响应消息

    ◆使用端口接收和发送消息,默认为80端口.

    端口:为内存缓冲区(多线程接收数据)

    3.什么是Servlet?

    Server let服务器端小程序.

    用来处理客户端发送的请求,并由服务器响应给客户端的java编写的程序.

    Servlet只在服务器运行

    4.Servlet详解:

    ◆源码演示:

    1. import java.io.*;  
    2. import javax.servlet.*;  
    3. import javax.servlet.http.*;  
    4. import java.util.*;  
    5. public class MyServlet extends HttpServlet  
    6. {  
    7.           public void doGet(HttpServletRequest request,HttpServletResponse response)  
    8.                         throws ServletException,IOException  
    9.           {  
    10.                        response.setContentType("text/html;charset=gb2312");  
    11.                        request.setCharacterEncoding("gb2312");  
    12.     
    13.                         response.sendRedirect("Login.jsp"); //重定向方法  
    14.                         request.getParameter("");  //读取客户端数据  
    15.  
    16.                        / /以下方法为转发,不同于重定向的是:转发时数据不丢失.  
    17.                       ServletContext context=this.getServletContext();  
    18.                       RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");  
    19.                       dispatcher.forward(request,response);   
    20.     
    21.                       ...//以下方法为包含(用得相对较少)  
    22.                      dispatcher.include(request,response);  
    23.  
    24.           }  
    25.          public void doPost(HttpServletRequest request,HttpServletResponse response)  
    26.                         throws ServletException,IOException  
    27.          {  
    28.                      doGet(request,response);  
    29.          }  
    30. }  
    31.  

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

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

    ◆可能性一:text/html;charset=GBK中间分号写成逗号.

    ◆可能性二:XML中配置信息出错.

    ◆可能性三:如定义全局变量时,例:CONTENT_TYPED在以后所用中放在双引号之中.

    ◆可能性四:当上面的text/html,charset中写错字符的时候,也会提示下载.

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

    ◆多为xml中配置出错.

    ◆可能在servlet通信方法中url出错.

    ◆表单提交时:action路径.

    ◆比较弱智的错误就是标记写错,请仔细检查.

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

    ◆tomcat下站点里发生错误.

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

    ◆servlet中没有post提交方法时.

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

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

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

    11.执行jsp页时,发生500错误提示....

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

    二.JSP入门之XML配置方面

    ◆源码演示

    1. ﹤!--config中的配置信息,当中配置需要在servlet中的xml中--﹥  
    2. ﹤servlet﹥  
    3.  ﹤init-param﹥  
    4.   ﹤param-name﹥sess﹤/param-name﹥  
    5.   ﹤param-class﹥com.serv﹤param-class﹥  
    6.  ﹤/init-param﹥  
    7.     ﹤servlet-name﹥Myservlet﹤/servlet-name﹥  
    8.     ﹤servlet-class﹥com.Myservetl﹤/servlet-class﹥  
    9. ﹤/servlet﹥  
    10.  
    11. ﹤!--此为对Myservlet进行映射--﹥  
    12. ﹤servlet-mapping﹥  
    13.  ﹤servlet-name﹥Myservlet﹤/servlet-name﹥  
    14.  ﹤servlet-class﹥/url﹤/servlet-class﹥  
    15. ﹤servlet-mapping﹥  
    16.  
    17. ﹤!--context中配置信息--﹥  
    18. ﹤context-param﹥  
    19.  ﹤param-name﹥ses﹤/param-name﹥  
    20.  ﹤param-class﹥com.ser﹤/param-class﹥  
    21. ﹤/context-param﹥  
    22.  

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

    三.JSP入门之会话跟踪技术方面

    ◆用户授权

    ◆隐藏表单域

    ◆URL重写

    ◆Cookie使用

    1.会话:是同一客户端和服务器之间在同一段时间的多次请求和响应.

    2.Session使用(重点)

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

    3.Cookie(类)

    1).Cookie是什么?

    cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).

    每次请求,响应中都会为cookie留有空间.

    2).用法:

    1. Cookie cookie=new Cookie("name",cookie); //必须指定cookie的键与值,且必须为字符串.  
    2. response.addcookie(cookie);  
    3. cookie.setMaxAge(3600);  //以秒为单位.  
    4.     
    5. //读取客户端发送过来的cookie,返回值类型为: cookie数组  
    6. request.getCookies();  
    7. //循环读取键与值. 

    使用过程:

    (1).生成cookie, new cookie("","")

    (2).设置生存周期 ﹥0,SetMaxAge(秒).

    (3).发送到客户端:response.addCookie(cookie);

    小常识:

    (1).一个网站最多向一个客户端写20个cookie.

    (2).一个客户端最多接收300个cookie.

    4.Session与Cookie这间的关系:

    session的ID作为Cookie的值在客户端与服务器之间进行传递.

    四.JSP入门之构建实体Bean的原则方面:

    1.bean类为公有

    2.类成员为私有

    3.必有一个无参构造

    4.有set()和get()方法

    5.方法命名为setXxx()或getXxx()方法

    五.JSP入门之MVC实现数据封装方面

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

    所需内容:

    ◆Servlet

    ◆JavaBean

    ◆OperBean(DBconnection)

    ◆Jsp

    由Servlet提取前台数据,然后将数据封装于JavaBean中,再实例化OperBean,调用OperBean中方法。

    将JavaBean对象以参数的形式传过去,并进行一系列的操作后,返回数据存入ArrayList中或者其它集合内,并将集合对象封装Session对象中,便于在前台取值.

    ◆Servlet控制:

    1. ........  
    2.  Arraylist lis=new ArrayList();  
    3.  
    4.  String name=request.getParameter("username");  
    5.    
    6.  JavaBean bean=new JavaBean();  
    7.  bean.setName(name);  
    8.    
    9.  OperBean oper=new OperBean();  
    10.  lis=oper.operMethod(bean);  
    11.  
    12.  HttpSession session=request.getSession();  
    13.  session.setAttribute("list",lis);  
    14.  

    ◆OperBean逻辑:

    1. ...  
    2.  public ArrayList OperMethod(JavaBean bean)  
    3.  {  
    4.   ArrayList lis=new ArrayList();  
    5.   String usr=bean.getName("name");  
    6.     
    7.   String sql="select * from student where name='"+usr+"'";  
    8.     
    9.   DBconnection db=new DBconnection();  
    10.   ...//操作数据业务  
    11.     
    12.   return lis;  
    13.  }  

    ◆前台业务:

    1. ...  
    2.  ArrayList list=(ArrayList)session.getAttribute("lis");  
    3.  Iterator ite=list.iterator();  
    4.  while(ite.harNext())  //遍历输出  
    5.  {  
    6.   JavaBean bean=(JavaBean)ite.next();  
    7.  ...  
    8.   //取bean中值  
    9.  }  
    10.  
    11. //由此可以进行"用户登陆","数据的增删改查","注销登陆"等操作.....  
    12.  

    以上所有Jsp入门技术都是没有与struts等框架相关的,只是简单的MVC思想,只有懂得以上简单的思想,才可以进一步的对框架这些高层次的东西钻研,对于JSP入门的开始,还有好多知识不懂,很多都在不停的学习之中,要多多总结才能提升!

  • 相关阅读:
    java 面向对象(六):类结构 方法(三) java的值传递机制
    java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法
    java 面向对象(四):类结构 方法(一)
    java 面向对象(三):类结构 属性
    java 面向对象(二):JVM内存结构
    java 面向对象(一):类与对象
    java 基本语法(十三) 数组(六)数组的常见异常
    java 基本语法(十二) 数组(五)Arrays工具类的使用
    java 基本语法(十一) 数组(四)数组的常见算法
    java 基本语法(十) 数组(三) 二维数组
  • 原文地址:https://www.cnblogs.com/licc09/p/3092365.html
Copyright © 2011-2022 走看看