涉猎JAVA WEB之servlet、jsp

目前的我用到的大前端载体还是asp.net mvc,可能以后会用java web相关的技术来呈现,或者nodejs。所以最近开始花一部分时间学习下servlet,jsp等技术,这些相关的文章,我自觉不自觉会拿.NET来对比,也许可以让.NET程序员来更容易理解JAVA WEB。我的方向是大前端,以前端为主深入学习,相关后端技术(JAVA等)涉猎为主。

 

servlet

它是一种java开发动态网页生成技术,我个人觉得类似于asp.net里面的ashx(一般处理程序),直接响应请求,输出内容,性能最高。开发一个servlet的步骤如下:

①编写一个java类继承HttpServlet,重写doGet,doPost等方法

②这个程序需要tomcat服务器来执行,copy到WEB-INF/classes目录下(tomcat的目录结构),并且进行配置web.xml

③web.xml的目的是让tomcat能够知道把请求转交给哪个servlet执行

④tomcat接收servlet的输出并响应给浏览器

⑤servlet是由tomcat服务器调用的,所以没有我们手动添加的main方法入口

示例(HelloWorld)如下:

创建一个servlet的java类

在tomcat服务器下对应的目录WEB-INF下添加配置文件:

启动tomcat,访问http://localhost:8080/MyWebLab/hello

当然servlet也有生命周期,并且也是单例的

构造方法(创建servlet对象)——>init方法(创建完servlet对象以后调用且只调用一次)——>service(反复调用)——>destroy(销毁对象,在停止服务器或重新部署时)

当然类似C#,java代码会被编译为字节码.class文件,交给JVM来执行(类似IL交给.NET runtime执行)。

可以通过配置来让servlet自动加载:<load-on-startup>1</load-on-startup>(数值为优先级,大于0 就可以了)

当然servlet里面有一些核心对象:ServletConfig,ServletContext等

 

JSP(Java Server Page)

在servlet里面编程有一个比较麻烦的工作就是输出html页面,都需要手写,而且格式很不友好。JSP的相当于提供了一个html的模板,其实ASPX也是一种模板。在JSP文件里面可以写java和html,这样使得输出html页面变得方便。JSP的本质仍然是一个servlet,只不过提供了更加方便的编程方式,提供了很多功能相对于servlet。JSP里面java代码放在<%%>里面,也提供了一些指令,这些都类似于ASPX。而且JSP里面提供的自定义标签功能,就是ASPX里面的自定义控件。所以ASP.NET开发和JSP开发比较类似,JAVA和C#语言有些差异,但是从我这几天的学习来看,简单入手开发应该不是什么大问题,语法可以用的时候去看就好了。

 

这几天学习了JAVA WEB的相关技术,目前暂时到这里,后面有时间在继续了解JAVA WEB。总的来说,ASP.NET程序员入门JAVA WEB开发门槛应该不太高,学习的过程发现很多东西都是相通的,比如服务器把动态请求交给响应的JAVA Servlet或.NET处理程序,都会通过反射的方式创建对象,使用单例提高性能等。

javajpg
作者:张雪飞
出处:https://zhangxuefei.site/p/1482
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论

电子邮件地址不会被公开。 必填项已用*标注