客户端(浏览器)给服务器发送request请求,它会先到Web服务器中的加载器并分变出静态资源和动态资源。
动态资源(Jsp/Servlet) 和 静态资源 进入Web数据库 并向客户端(浏览器)发出响应Respense
端口号:
Tomacat :8080
Mysql :3306
http:80
https:443
当浏览器地址输入域名时 首先是电脑在本机hosts系统配置中查找是否有对应地址映射的ip
如果没有 那么就会访问 云DNS去查看是否有对应绑定的ip
一个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
一个web服务器只有一个servletContext 服务器
域对象 包含了整个web应用 能使得数据共享;
对应方法:
setAtrribute( key, Object value) 添加数据 以key——value 形式添加
getAtrribute(key) 指定key 得到值
removeAtrribute(key) 移除数据
resp.setContentType("text/html"); //设置上下文文本类型
resp.setCharacterEncoding("UTF-8"); //设置对应编码类型 防止乱码;
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);