`
胡小米
  • 浏览: 75781 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
   1.Session 由于HTTP协议连接的无状态性,才使得session的不得已而产生。既然Web应用并不了解有关同一用户以前请求的信息,那么解决这个问题的一个办法是使用Servlet/JSP容器提供的会话跟踪功能,Servlet API规范定义了一个简单的H ...
1、直接放到Webapps目录下      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。也可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse、NetBeans、ant、JBuilder等。也可以用 cmd 命令:jar -cvf applicationname.war package.*; 甚至可以在程序执行中打包: tr ...
Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符,称为 Session ID。Servlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器可以从 HttpRequest 对象中读取 Sess ...
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库 ...
Velocity是一种基于JAVA的模板引擎,开发人员使用简单的模板语言就可以快速开发显示层,它使得显示层与程序代码分离,在早期的Webwork版本中,所有UI标签均使用Velocity模板引擎生成,可以在Struts-core-2.0.8.jar中找到template文件夹,其中的archive文件夹下存放着原有的vl文件! 在Struts2中查找vm文件的顺序先查找Web应用程序,再查找类路径。如果你需要使用vm作为显示层,只需要在配置文件中指定result的type属性为velocity,然后将<param>的location属性指定到一个以vm结尾的资源上就可以了! ...
开发中发现struts还有constant 的配置。就把一些常用配置给列了一下: struts.serve.static.browserCache :该属性设置浏览器是否缓存静态内容。当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为false。 struts.enable.DynamicMethodInvocation: 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。 struts.enable.SlashesInActionNames :该属性设置Struts 2是否允许 ...
㈠页面显示中文乱码 ㈡传递参数中文乱码 ㈢国际化资源文件乱码 下面就这三中情况介绍怎么在具体项目中处理这些乱码问题。而对于整体的处理思想,是要统一编码为: UTF-8.(以myeclipse6支持的struts1.3为准) ㈠页面显示中文乱码       对于在页面中显示出现乱码,这个问题比较简单,便是检查你的JSP文件里是不是出现了中文要处理,因为JSP默认的编码格式为“ISO-8859-1”,当JSP中出现要处理的中文时,其显示就出现乱码了,这种情况一般出现在手写JSP,或修改时。因为在myeclipse6.0中,如果出现了编码错误时,程序不会让你保存,而是会提示你注意编 ...

Maven2

    博客分类:
  • Java
一.背景 Maven2 的基本原理很简单,采用远程仓库和本地仓库以及  pom(project object model).xml  ,将  pom.xml  中定义的  jar  文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的  jar  ,同一个版本的  jar  只需下载一次,而且避免每个应用都去拷贝  jar  。如图  1  。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以在执行  maven  任务时,才会自动下载需要的插件。这个特性也为客户系统的升级带来的很大的方便,客户每次升级的时候可以使用maven的远程部署功能自动下载最 ...
<iterate      property="" /*可选,           从传入的参数集合中使用属性名去获取值,           这个必须是一个List类型,           否则会出现OutofRangeException,           通常是参数使用java.util.Map时才使用,           如果传入的参数本身是一个java.util.List, 不能只用这个属性.          不知道为啥官网: http://ibatis.apache.org/docs/dotnet/datamappe ...
synchronized的一个简单例子 public class TextThread { /**   * @param args   */ public static void main(String[] args) {   // TODO 自动生成方法存根         TxtThread tt = new TxtThread();         new Thread(tt).start();         new Thread(tt).start();         new Thread(tt).start();         new Thread(tt).start( ...
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。        解决生产者消费者问题的方法有两种,一种是采用某种机制保持生产者和消费者之间的同步,一种是在生产者和消费者之间建立一个管道。前一种有较高的效率并且可控制性较好,比较常用,后一种由于管道缓冲区不易控制及被传输数据对象不易封装等原因,比较少用。        同步问题的核心在于,CPU是按时间片轮询的方式执行程序,我们无法知道某一个线程是否被 ...

HTTP 请求过程

    博客分类:
  • HTTP
TCP/IP四层模型各层的具体协议:       应用层:HTTP,FTP,SMTP,POP3,Telnet等等       传输层:TCP,UDP      网络层:IP等等       物理层:。。。 以HTTP协议为例:            当启动一个浏览器窗口,该浏览器窗口一定会占据一个电脑的端口号(假设为5555)。点击一个网站的链接(假设为www.163.com)。浏览器发出一个请求数据包。      此时处于应用层:在这里添加上应用层头信息,如 HTTP#5555#www.163.com,表示这是应用层的HTTP协议。      进入传输层:在这里添加上传输层的 ...
    最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。     在Java中可以使用HttpURLConnection发起这两种请求,了解此类,对于了解soap,和编写servlet的自动测试代码都有很大的帮助。    下面的代码简单描述了如何使用HttpURLConnection发起这两种请求,以及传递参数的方法: public class HttpInvoker { public static fi ...
<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。 但不用也可以,比如<a href="<%=request.getContextPath()%>/catalog.jsp">,可以直接用<a href="catalog.jsp">也行,这两个文件是在同一 ...
主要讲的是在 Tomcat 中部署 Java Web 应用程序。因为重点是如何部署,所以暂且先不介绍怎样开发 Web 应用程序和怎样启动 Tomcat 服务器,也不考虑使用的什么开发工具,总之在练习本文所说的例子之前,你应该有一个 Java Web 应用 ...
Global site tag (gtag.js) - Google Analytics