浅谈JavaWeb

谈下对JavaWeb, Servlet,JSP的笼统认识

网页的出现

自从http协议,html语言出现。通过网络,浏览器从远程服务器上获取用html语言写的网页并展示出来。
网页可以是静态的。服务器可以只放html页面就够了。
随着发展,人们需要动态的网页。不同的用户,请求相同的页面,要看到不同的内容。为了方便,加入编程语言,C#,Java,Python,只要这个语言能用Socket获取到http报文,解析http报文,根据用户请求,判断用户需要什么动态数据,从某个存储数据的介质(数据库,缓存,文件,网络等)里面拿到所需的数据,填充到html里面,然后通过Socket向用户浏览器发http报文(包含html页面),所有的这些语言编写的程序,都可以作为服务器程序。

Servlet的诞生

对于Java而言,用Socket,自然是可以实现基于http协议的动态网页服务器。
Sun公司面向“HTTP协议”这个对象,制定了Servlet这一套规范,事先定义好了,面向HTTP协议编程的时候,写哪些方法,做哪些事,如何从HTTP协议里获取参数,如何返回数据等。用流向Socket里面写html语句。
例如:Tomcat中的Servlet示例

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}
JSP的诞生

用Servlet的流是可以写啊,可是当html网页内容巨大,一次一次的println太累了。
把这些要输出的html页面,单独的摘出来,需要填动态的地方,用特定的标记给加进去。这样,就可以愉快的写html夹杂着特殊标签的页面了。好看点,写东西快一点。

JSP就相当于是个html模板,模板里面嵌套了动态的数据。
最终还是要转换成Servlet。

//Source Code for hello.jsp 
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<html>
  <head>
    <title>JSP 2.0 Examples - Hello World Using a Tag File</title>
  </head>
  <body>
    <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1>
    <hr>
    <p>This JSP page invokes a custom tag that simply echos "Hello, World!"
    The custom tag is generated from a tag file in the /WEB-INF/tags
    directory.</p>
    <p>Notice that we did not need to write a TLD for this tag.  We just
    created /WEB-INF/tags/helloWorld.tag, imported it using the taglib
    directive, and used it!</p>
    <br>
    <b><u>Result:</u></b>
    <tags:helloWorld/>
  </body>
</html>
//Source Code for helloWorld.tag
Hello, world!

就一行内容。只是换成了用jsp标签来输出。本质没变,还是要编译成Servlet形式的Class文件。但是更易读,便于程序开发和维护。

JavaWeb最入门,至少需要了解以下内容
  • http协议
  • Servlet规范
  • html和css(总得写下页面吧)
  • JavaSE
    JavaWeb是运用Java这个编程语言,获取数据,处理数据,最终传输出去。
    对请求的过滤,还是Service方法(此处不谈Service层DAO层)里面,都是用Java语法和相关知识来处理数据。所以需要掌握JavaSE。先会用,重要的部分再回头深入学习。

    至于说,如何在纷繁复杂的网络环境里,给更多用户,提供更快,更好看,更安全(省去超级多字,对应不同的研究方向)的网络服务,需要我们根据不同的需求,进一步深入学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值