JavaWeb-Servlet

JavaWeb-Servlet_第1张图片

客户端(浏览器)给服务器发送request请求,它会先到Web服务器中的加载器并分变出静态资源和动态资源。

动态资源(Jsp/Servlet)  和 静态资源 进入Web数据库 并向客户端(浏览器)发出响应Respense

端口号:

Tomacat :8080

Mysql :3306

http:80

https:443

JavaWeb-Servlet_第2张图片

 当浏览器地址输入域名时 首先是电脑在本机hosts系统配置中查找是否有对应地址映射的ip

如果没有 那么就会访问 云DNS去查看是否有对应绑定的ip

servlet  

一个api接口 servlet   

HttpServlet  实现了servlet的方法

当需要使用Servlet的时候 需要去实现 httpServlet

httpServlet中 重写 doget dopost方法 (两者业务逻辑一样 可以相互调用)

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

重写完成后需要映射,

Java程序 不能被web浏览器访问  浏览器需要连接服务器

在服务器中注册servlet   给出一个访问路径

在web.xml中 配置文件:
 



    hello  //对应名字
    com.servlet.HelloServlet  //定位类地址

    
      
        hello  //名字(对应服务器的注册名字)
        /hello   //映射地址(浏览器访问url)
    

首先是浏览器输入url-patter 的映射值,然后通过name 找到servlet对应的地址

url中/* 表示任意访问

*.后缀  表示  任意以那个后缀的url值都能访问

web.xml文件配置:

servlet 上下文 context

servletContext(共享数据)

一个web服务器只有一个servletContext 服务器

域对象   包含了整个web应用  能使得数据共享;

对应方法:

setAtrribute(  key, Object value)   添加数据 以key——value 形式添加

getAtrribute(key)   指定key 得到值

removeAtrribute(key)  移除数据   

       
        resp.setContentType("text/html");   //设置上下文文本类型
        resp.setCharacterEncoding("UTF-8");  //设置对应编码类型 防止乱码;
        

可以配置WEB初始化参数;

JavaWeb-Servlet_第3张图片

获得请求转发:

context.getRequesDispatcher    请求转发

forward(req,resp) 把请求和响应也转发到指点地点;

forward 请求转发();

读取资源文件

xxx.properties  文件的创建 放在resource 文件里

可以用servletContext 得到资源 getResourceAsStream()

属性

 ServletContext context = req.getServletContext();
//资源地址
        InputStream stream = context.getResourceAsStream("/WEB-INF/classes/db.properties");
        Properties prop = new Properties();
        prop.load(stream);
        String username = prop.getProperty("username");

        PrintWriter writer = resp.getWriter();
        writer.println(username);

你可能感兴趣的:(java,servlet,服务器,javaee)