java web之基础

    看java的基础也有一段时间了,感觉java和C#,都实现了linux系统的部分操作功能。如操作I/O,操作文件,网络操作等部分。可以在看java类知识的同时,看java web部分,算是换换脑子吧!

     java的类很多,特点也很多,学java无非就是些jar包的掌握!这个需要一个熟悉的过程,不是一天或几天就能够会用的,根本的还是得多敲些代码!先有个印象吧

1、软件架构?

c/s:Client/Server  客户端/服务器端,比较老,在用户本地有一个客户端程序,在远程有一个服务器端程序。

b/s:Browser/Server:浏览器/服务端 ,只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序。应用程序的逻辑和数据都存储在服务器端(服务器端升级后,客户端无须任何布署,就可以使用到新的版本);浏览器只需要请求服务器,获取Web页面(用HTML语言编写),并把Web页面展示给用户即可。

2、web开发实质?

        以服务器的身份响应客户端请求,编写服务器程序来处理客户端请求就称之为Web开发。

 3、需要了解的三种语言?有时间再弄吧

              HTML 定义了网页的内容

              CSS 描述了网页的布局

              JavaScript 网页的行为

 

4、XML使用?

  • xml是什么?可扩展标记语言(eXtensible Markup Language)的缩写,它是是一种数据表示格式,默认使用UTF-8编码,可嵌套,适合表示结构化数据。
  • xml作用? 1. 配置文件 2. 在网络中传输
  •  xml常见的解析器:

        JAXP:sun公司提供的解析器,支持dom和sax两种思想
                DOM4J:一款非常优秀的解析器
                Jsoup:jsoup 是一款开源免费Java 的HTML、xml解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
                PULL:Android操作系统内置的解析器,sax方式的

  • Jsoup使用步骤:主要用它来解析xml文件

        1. 导入jar包(在https://jsoup.org/download上下载jsoup-1.13.1.jar开发包)
                2. 获取Document对象,代表整个XML文档;
                3. 获取对应的标签Element对象,代表一个XML元素;
                4. 获取数据,Attribute:代表一个元素的某个属性。

  • Jsoup常用方法:
        1. Jsoup:工具类,可以解析html或xml文档,返回Document
            * parse:解析html或xml文档,返回Document
                * parse​(File in, String charsetName):解析xml或html文件的。
                * parse​(String html):解析xml或html字符串
                * parse​(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档对象
        2. Document:文档对象。代表内存中的dom树
            * 获取Element对象
                * getElementById​(String id):根据id属性值获取唯一的element对象
                * getElementsByTag​(String tagName):根据标签名称获取元素对象集合
                * getElementsByAttribute​(String key):根据属性名称获取元素对象集合
                * getElementsByAttributeValue​(String key, String value):根据对应的属性名和属性值获取元素对象集合
        3. Elements:元素Element对象的集合。可以当做 ArrayList<Element>来使用
        4. Element:元素对象
            1. 获取子元素对象
                * getElementById​(String id):根据id属性值获取唯一的element对象
                * getElementsByTag​(String tagName):根据标签名称获取元素对象集合
                * getElementsByAttribute​(String key):根据属性名称获取元素对象集合
                * getElementsByAttributeValue​(String key, String value):根据对应的属性名和属性值获取元素对象集合

            2. 获取属性值
                * String attr(String key):根据属性名称获取属性值
            3. 获取文本内容
                * String text():获取文本内容
                * String html():获取标签体的所有内容(包括字标签的字符串内容)
        5. Node:节点对象
            * 是Document和Element的父类

 

5、web服务器有什么用?

在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目,本质上就是一个容器。

6、tomcat web服务器的常用操作???

如下图:tomcat目录

启动:1、bin/startup.bat ,双击运行该文件即可,或通过cmd方式,详见:《软件起步之java web环境搭建》

           2、访问:浏览器输入:http://localhost:8080 回车访问自己
                                                        http://别人的ip:8080 访问别人

关闭:bin/shutdown.bat

部署:

     创建一个静态网页文件夹:如下图:

            在conf\Catalina\localhost创建任意名称的xml文件。如下图:

在文件中添加如下配置语句:
              <Context docBase="D:\WebProject" reloadable="true"/>
 在浏览器输入路径:http://localhost:8080/xml文件名/访问的文件名;  每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。如下图:

将tomcat集成到ida中:会自动布署

打开idea,如下图:在debug Configurations中Templates中tomcat server中 设置

在JavaEE平台上,处理TCP连接,解析HTTP协议这些底层工作统统扔给现成的Web服务器去做,我们只需要把自己的应用程序跑在Web服务器上。Tomcat这样的服务器也是Java编写的,启动Tomcat服务器实际上是启动Java虚拟机,执行Tomcat的main()方法,然后由Tomcat负责加载我们的.war文件,并创建一个HelloServlet实例,最后以多线程的模式来处理HTTP请求。因此,编写的Servlet并不是直接运行,而是由Web服务器加载后创建实例运行,所以,类似Tomcat这样的Web服务器也称为Servlet容器

 

7、Servlet 常用操作??

  • servlet的作用??JavaEE提供了Servlet API,来处理HTTP请求。Web服务器实现Servlet API接口,实现底层功能:
  • servlet的体系结构是什么?

                                      Servlet -- 接口

                                               |
                                      GenericServlet -- 抽象类
                                                       |
                                       HttpServlet  -- 抽象类

                  * GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象
                              * 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可

                 * HttpServlet:对http协议的一种封装,简化操作
                            1. 定义类继承HttpServlet
                            2. 复写doGet/doPost方法

 

简单示例 :

// WebServlet注解表示这是一个Servlet,并映射到地址/:
@WebServlet(urlPatterns = "/")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 设置响应类型:
        resp.setContentType("text/html");
        // 获取输出流:
        PrintWriter pw = resp.getWriter();
        // 写入响应:
        pw.write("<h1>Hello, world!</h1>");
        // 最后不要忘记flush强制输出:
        pw.flush();
    }
}


//一个Servlet总是继承自HttpServlet,然后覆写doGet()或doPost()方法。注意到doGet()方法传入了
//HttpServletRequest和HttpServletResponse两个对象,分别代表HTTP请求和响应。我们使用Servlet API
//时,并不直接与底层TCP交互,也不需要解析HTTP协议,因为HttpServletRequest和
//HttpServletResponse就已经封装好了请求和响应。以发送响应为例,我们只需要设置正确的响应类型,
//然后获取PrintWriter,写入响应即可。
  • Filter组件:JavaEE的Servlet规范中提供

当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值