javaweb概念速览

基本概念

web开发

静态web

  • HTML,CSS
  • 提供给所有人的数据始终是不变的
    动态web
  • 提供给所有人的数据会改变的
  • servlet,ASP,PHP
    在Java中,动态web资源开发的技术称为javaweb

web应用程序

web应用程序是可以提供浏览器访问的程序,一个web程序由许多静态web和动态web组成,我们将web应用程序放在服务器中供其他人通过浏览器访问
javaweb概念速览_第1张图片

web服务器

后端技术

ASP

  • 微软:国内最早流行的就是ASP
  • 在HTML嵌入VB脚本

PHP

  • 开发速度快,跨平台,代码简单
  • 无法承载大访问量的情况

JSP

  • 本质是servlet
  • 可以承载高并发
  • 语法想ASP

web服务器分类

服务器是一种被动的操作用来处理用户的请求

IIS

微软自带的

Tomcat

技术先进、性能稳定、免费
文件目录
javaweb概念速览_第2张图片
配置文件
javaweb概念速览_第3张图片


<Server port="8005" shutdown="SHUTDOWN">
     <Listener className="org.apache.catalina.startup.VersionLoggerListener"/> 
     <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
     <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
     <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
     <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
     <GlobalNamingResources>
          <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
     GlobalNamingResources>
     <Service name="Catalina">
          <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
          <Engine defaultHost="localhost" name="Catalina">
               <Realm className="org.apache.catalina.realm.LockOutRealm">      
                    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
               Realm>
               <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
                    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
                    <Context docBase="C:\Users\brash user\Downloads\soft\apache-tomcat-9.0.34\wtpwebapps\webapp" path="/webapp" reloadable="true" source="org.eclipse.jst.jee.server:webapp"/>
               Host>
          Engine>
     Service>
Server>

可以配置tomcat启动端口号
javaweb概念速览_第4张图片
可以配置主机的名称
javaweb概念速览_第5张图片
究竟是如何访问网站的
1、输入一个域名回车
2、检测本机的C:\Windows\System32\drivers\etc\hosts配置文件下有有这个域名映射,如果有直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问;如果没有去DNS(管理域名系统)找到的话就返回。
javaweb概念速览_第6张图片
发布一个web网站
将自己写的网站放到webapps文件目录下,就可以访问了
网站目录结构
webapps
——项目目录名
————index.hml:默认首页
————WEB-INF
——————classes:存放java程序
——————lib:存放依赖jar包
——————web.xml:网站配置文件
————static:存放静态资源文件
——————html
——————css
——————js
——————img
……

Servlet

java中开发动态web的接口
编写类继承Httpservlet类,重写doget和dopost方法

public class main1 extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
        PrintWriter writer = resp.getWriter();
        writer.println("hello,servlet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
        doGet(req,resp);
    }
}

在web.xml中配置servlet路径

	<servlet>
        <servlet-name>main1servlet-name>
        <servlet-class>club.chinesecooly.main1servlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>main1servlet-name>
        <url-pattern>/main1url-pattern>
    servlet-mapping>

原理

javaweb概念速览_第7张图片

Mapping

一个servlet可以指定一个或多个映射路径,还可以使用通配符,默认请求/ * (可以取代首页),自定义路径 * .xxxx,

优先级

固有路径优先级最高,找不到就会到默认路径

ServletContext

web容器在启动的时候,他会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用,它有许多作用

  • 共享数据

JavaBean

实体类,它有特定的写法

  • 必须有一个无参构造
  • 属性必须私有化
  • 必须有对应的getter方法

一般用来和数据库的字段做映射

MVC三层架构

MVC:model,view,controller 模型,视图,控制器
javaweb概念速览_第8张图片model

  • 业务处理:业务逻辑service
  • 数据持久层:crud dao

view

  • 展示数据
  • 提供链接发起servlet请求

controller

  • 接受用户请求
  • 交给业务层处理对应密码
  • 控制视图的跳转

你可能感兴趣的:(java)