JAVA编程:Java Servlet 编程及使用之四
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点 HttpServlet是从GenericServlet承继而来,因而它具有GenericServlet相似的办法和对象,是我们利用Servlet编程常常用到的包,它撑持HTTP的post和get等办法。编程思绪:上面的例子,运转了局是输入复杂地前往客户发送给服务器的哀求行和头部信息,和一些可会见的HTTP信息等。
SnoopServlet.java的源代码以下:
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.Enumeration;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassSnoopServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
PrintWriterout=response.getWriter();
response.setContentType("text/plain");
out.println("SnoopServlet");
out.println();
out.println("Servletinitparameters:");
Enumeratione=getInitParameterNames();
while(e.hasMoreElements()){
Stringkey=(String)e.nextElement();
Stringvalue=getInitParameter(key);
out.println(""+key+"="+value);
}
out.println();
out.println("Contextinitparameters:");
ServletContextcontext=getServletContext();
Enumerationenum=context.getInitParameterNames();
while(enum.hasMoreElements()){
Stringkey=(String)enum.nextElement();
Objectvalue=context.getInitParameter(key);
out.println(""+key+"="+value);
}
out.println();
out.println("Contextattributes:");
enum=context.getAttributeNames();
while(enum.hasMoreElements()){
Stringkey=(String)enum.nextElement();
Objectvalue=context.getAttribute(key);
out.println(""+key+"="+value);
}
out.println();
out.println("Requestattributes:");
e=request.getAttributeNames();
while(e.hasMoreElements()){
Stringkey=(String)e.nextElement();
Objectvalue=request.getAttribute(key);
out.println(""+key+"="+value);
}
out.println();
out.println("ServletName:"+getServletName());
out.println("Protocol:"+request.getProtocol());
out.println("Scheme:"+request.getScheme());
out.println("ServerName:"+request.getServerName());
out.println("ServerPort:"+request.getServerPort());
out.println("ServerInfo:"+context.getServerInfo());
out.println("RemoteAddr:"+request.getRemoteAddr());
out.println("RemoteHost:"+request.getRemoteHost());
out.println("CharacterEncoding:"+request.getCharacterEncoding());
out.println("ContentLength:"+request.getContentLength());
out.println("ContentType:"+request.getContentType());
out.println("Locale:"+request.getLocale());
out.println("DefaultResponseBuffer:"+response.getBufferSize());
out.println();
out.println("Parameternamesinthisrequest:");
e=request.getParameterNames();
while(e.hasMoreElements()){
Stringkey=(String)e.nextElement();
String[]values=request.getParameterValues(key);
out.print(""+key+"=");
for(inti=0;i<values.length;i++){
out.print(values+"");
}
out.println();
}
out.println();
out.println("Headersinthisrequest:");
e=request.getHeaderNames();
while(e.hasMoreElements()){
Stringkey=(String)e.nextElement();
Stringvalue=request.getHeader(key);
out.println(""+key+":"+value);
}
out.println();
out.println("Cookiesinthisrequest:");
Cookie[]cookies=request.getCookies();
if(cookies!=null){
for(inti=0;i<cookies.length;i++){
Cookiecookie=cookies;
out.println(""+cookie.getName()+"="+cookie.getValue());
}
}
out.println();
out.println("RequestIsSecure:"+request.isSecure());
out.println("AuthType:"+request.getAuthType());
out.println("HTTPMethod:"+request.getMethod());
out.println("RemoteUser:"+request.getRemoteUser());
out.println("RequestURI:"+request.getRequestURI());
out.println("ContextPath:"+request.getContextPath());
out.println("ServletPath:"+request.getServletPath());
out.println("PathInfo:"+request.getPathInfo());
out.println("PathTrans:"+request.getPathTranslated());
out.println("QueryString:"+request.getQueryString());
out.println();
HttpSessionsession=request.getSession();
out.println("RequestedSessionId:"+
request.getRequestedSessionId());
out.println("CurrentSessionId:"+session.getId());
out.println("SessionCreatedTime:"+session.getCreationTime());
out.println("SessionLastAccessedTime:"+session.getLastAccessedTime());
out.println("SessionMaxInactiveIntervalSeconds:"+session.getMaxInactiveInterval());
out.println();
out.println("Sessionvalues:");
Enumerationnames=session.getAttributeNames();
while(names.hasMoreElements()){
Stringname=(String)names.nextElement();
out.println(""+name+"="+session.getAttribute(name));
}
}
} 编程技能申明:
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点: 关于设计模式的资料,还是向大家推荐banq的网站 http://www.ckuyun.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
页:
[1]