java   EE  笔记

来源:互联网 发布:ubuntu 安装php7 编辑:程序博客网 时间:2024/05/02 06:44

                                                           JavaEE笔记

Servlet 配置信息一般保存在servletConfig对象中;

 Servlet调用getServletConfig()方法获取ServletConfig对象。

  Web.xml配置信息说白了就是配置你的Servlet组件或者web组件的配置信息

  Config.xml配置信息是配置你的项目信息。

   Web.xml配置文件和@webServlet(name=“sgh” urlPatterns=“/sgh”)

   其中name是代表你的servlet的名称urlPatterns则当前代表的是你的路径。

  假如你有固定的ip地址就可以制作自己的网站以让其他人访问

http://local:8080

请求参数

 Post一般用于更新服务器提交的数据包含在http尸体数据内提交的数据封装在request对象中。

Get地址后边会显示一般用于查询服务传输的数据有限制。

获取参数的信息是request.getParameter(“name”);  取出表单的name

在jsp中是以name为参数进行传递。要是获取多个参数可以用request.ParameterValues(“name”);

多选框

             姓名

             

             选出你要选择的水果

             苹果

             西瓜

             桃子

 

String[] param=request.getParameterValues(“checkbox1”);

             姓名

             

             选出你要选择的水果

             苹果

             西瓜

             桃子

 

String param1=request.getParameter(“checkbox1”);

String param2=request.getParameter(“checkbox2”);

String param3=request.getParameter(“checkbox3”);

单选框两种表示

             <20

              <30

              <40

              <50

 

乱码原因的主要原因是编码格式的不一致。要让我说出乱码的原因那可是真的有很多种情况

所以就只说说简单的处理乱码的两种方法

Response.setContentType(“text/html; charset= gb2312 ”);

Request.setCharterEncoding(“gb2312”);

或者

转换用户名的方法

String s1=request.getParameter(“username”);

Byte  temp[]=s1.getBytes(“ISO-8859-1”);

S1=new String(temp);

这里指给出两种方法处理乱码。但是这肯定不是唯一的。因为乱码的原因就有很多种。

当利用request获取参数值时不仅仅只有参数的值还有一类重要的信息称为是Header它相当于客户端和浏览器之间的通信的控制信息。它里边包含了浏览器的类型客户端的os客户端的主机和端口。Cookie信息等等重要的信息。由此可见它的作用就是服务器在发送回应的时候为了能准确到达客户端会有一些控制信息。

编码的类型默认是MIME类型为text/plain即纯文本类型而httpServletResponse中响应的正文的默认MIME是text/html即HTML文档类型。可以通过调用getContentType(Stringtype)来设置响应的正文的MIME类型。

重定位由字面意思可知是重新定位。ServletResponse接口提供了一个重要的方法sendRedirect()。  forward也可以实现重定位。但是它在使用之前要释放全部资源它们之间

的区别是forward是服务器内部重定位客户并不知道,原理是程序接收到请求后,将重新定位到另一个程序而sendRedirect()是送到客户端后再一次发送request所以资料不被保留。它相当于是客户以增加请求的次数来定位到相应的界面。由于它们的工作原理不同使得它们的用途也不同。

  forward一般用于登陆相对于sendRedirect()则用于注销返回主界面

Cookie是一小块可以嵌入到HTTP请求和响应中的数据。它被保存在客户端通常保存在一个文本文件中。

Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。其中session与cookie的关系是session的ID作为cookie的值在客户端和服务器之间传递。

Cookie的原理它是在浏览器第一次访问服务器会产生一个cookie发给浏览器客户下次用浏览器再次访问服务器时会带着cookie访问服务器被保存在head中。

Cookie  cook=new cookie(“sgh” “sgh1”);

sgh是cookie的名字

sgh是cookie的参数

所以一般是第一次访问时会创建一个cookie否则不创建。

部分代码如下

Cookie cookie=null;

        Cookie[] cookies=request.getCooies();

        boolean newCookie=false;

        if(cookies!=null)

        {

           for(int i=0;i

        {

           if(cookies[i].getName().equals("sgh"))

           

            cookie=cookies[i];

           

       }

        }

        if(cookie==null)

        {

           newCookie=true;

           cookie=new Cookie("sgh","sgh");

        }

URL重写

是通过URL地址后面增加一个包含会话信息的字符串来记录会话信息。URL地址与会话信息的字符串之间用?隔开。如果有多个参数用&隔开。

Servlet间的协作

是web容器接收到客户端的请求后他负责创建HTTPRequest对象和HttpRespons对象然后将这两个对象以参数的形式传递给与请求URL地址相关联的servlet的Service()方法进行处理。但对于复杂的处理过程。不能仅通过一个Servlet来实现这时就需要多个来处理。

Requestdispatcher封装了到同一web应用内的另外资源的引用可以通过调用Requestdispatcher的forward方法将请求传递给其他资源或者调用Requestdispatcher的include方法将其他资源请求包含进来。

一般的格式是 

RequestDispatcher dis=request.getRequestDispatcher(“loginsucc”);

dis.forward(request,response);/dis.include(request,response);

Filter(过滤器)

 它可以改变一个请求或者修改一个响应,原理是用户在发送请求Servlet时在Servlet处理请求之前与此servlet关联的Filter首先执行,然后才是Servlet执行。如果一个Servlet关联多个Filter,则根据配置文件先后顺序依次执行。

Jsp

Jsp是一种实现了普通静态HTML和动态HTML混合编码的技术,它最终会被转换成标准的servlet(这个可以使neatbeans中的项目中查看servlet代码可以看到转换之后的servlet代码)该转换一般出现在第一次页面请求时。所以说jsp实际上就是servlet在jsp第一次运行时由jsp编译器将.jsp文件编译成servlet后再由servlet调用之后由servlet接受客户端传来的数据流。

Jsp执行顺序

《1》  服务器接受客户端JSP网页的请求其中包含表单数据

《2》 服务器端的JSP引擎把JSP代码转换成Servlet代码Servlet是服务器端执行的程序代码。它的主要功能是在服务器执行jsp页面中的jsp元素数据并将需要显示的结果嵌入到HTML页面中返回客户端服务器不处理JSP页面的固定模板数据,直接交给客户端的浏览器执行显示

《3》  JSP引擎调用服务器端的java编译器把Servlet代码编译成.class文件

《4》  Java虚拟机执行 .class文件

《5》  结果返回给请求的客户端。

JSP指令是整体控制Servlet的结构,是从JSP向web容器发送的消息用来设置页面的全局属性。

  JSP的指令格式是

0 0
原创粉丝点击