JAVA教程之Servlet基本例程 - HelloServlet - NT版...
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.servlet/*何志强
日期:2000-08-10
版本:1.0
功效:Servlet基本例程-HelloServlet
*/
importjava.io.*;
importjava.text.*;//MessageFormat
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloServletextendsHttpServlet{
//页面题目
protectedstaticfinalStringstrTitle="Servlet基本例程-HelloServlet";
//页眉
protectedstaticfinalStringstrHeader=
"<html>"+
"<head>"+
"<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">"+
"<title>{0}</title>"+
"</head>"+
"<body>";
//页脚
protectedstaticfinalStringstrFooter=
"</body>"+
"</html>";
//表单
protectedstaticfinalStringstrForm=
"<formaction="{0}"method="post">"+
"您贵姓台甫:<inputtype="text"name="name">"+
"<inputtype="submit"name="submit"value="提交">"+
"</form>";
protectedstaticfinalStringstrHello=
"您好,{0},接待离开Servlet/JSP天下!";
//堕落信息
protectedstaticfinalStringstrError=
"<h2><fontcolor="#ff0000">{0}</font></h2>";
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
process(req,resp);
}
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
process(req,resp);
}
protectedvoidprocess(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
try{
Stringsubmit=req.getParameter("submit");
if(submit==null)
printForm(req,resp);
else
printHello(req,resp);
}
catch(Exceptione){
printError(e.toString(),req,resp);
}
}
protectedvoidprintForm(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
//在利用PrintWriter前得先设置ContentType
resp.setContentType("text/html;charset=gb2312");
PrintWriterout=resp.getWriter();
//输入页眉
out.print(MessageFormat.format(strHeader,newObject[]{strTitle+"-请输出贵姓台甫"}));
//输入表单
out.print(MessageFormat.format(strForm,newObject[]{req.getContextPath()+req.getServletPath()}));
//输入页脚
out.print(strFooter);
out.flush();
}
protectedvoidprintHello(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
//猎取用户输出的数据
Stringname=req.getParameter("name");
if(name==null)
name="知名氏";
else
//对用户输出的数据作需要的字符编码转换
name=newString(name.getBytes("iso-8859-1"));
//在利用PrintWriter前得先设置ContentType
resp.setContentType("text/html;charset=gb2312");
PrintWriterout=resp.getWriter();
//输入页眉
out.print(MessageFormat.format(strHeader,newObject[]{strTitle+"-接待您"}));
//输入接待信息
out.print(MessageFormat.format(strHello,newObject[]{name}));
//输入页脚
out.print(strFooter);
out.flush();
}
protectedvoidprintError(Stringerror,HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
//在利用PrintWriter前得先设置ContentType
resp.setContentType("text/html;charset=gb2312");
PrintWriterout=resp.getWriter();
//输入页眉
out.print(MessageFormat.format(strHeader,newObject[]{strTitle+"-堕落信息"}));
//输入堕落信息
out.print(MessageFormat.format(strError,newObject[]{error}));
//输入页脚
out.print(strFooter);
out.flush();
}
}
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
页:
[1]