搭建web项目(上)
软件架构(C/S,B/S)
什么是软件架构?
分为C/S(客户机/服务器)和B/S(浏览器/服务器)架构。是否有客户端,有就是C/S否则就是B/S。
【待补充】
web简介
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本(html)和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
【待补充】
常用服务器:Tomcat、JBoss、weblogic
Tomcat服务器
Tomcat服务器简介
Tomcat由Apache、Sun和其他公司及个人共同开发。由于有Sun公司的加入,Tomcat对java有很好的支持
【待补充】
Tomcat使用步骤
1、下载(https://tomcat.apache.org/)
2、如果下载的解压版,解压即可(记住存放位置)
3、Tomcat的启动、测试、关闭
1)启动
在bin文件夹中找到startup.bat双击
如果双击之后,闪过黑框?
修改startup.bat系统文件(在该文件的最上方加:SET JAVA_HOME=……和SET TOMCAT_HOME=……)
2)测试
打开浏览器——>http://localhost:8080/或者http://ip地址:8080
如何修改默认端口号?
找到conf文件夹中的server.xml,修改其中的port属性
3)关闭
关闭黑框即可
Tomcat与Eclipse集成并搭建web项目
1、集成
Window——Show View——Other…——Server——选择Servers——点击open——找到Servers点击一行蓝色的字——选中Apache——找到对应的Tomcat版本——next——选择Browse…——找到Tomcat存放路径——over
2、配置Tomcat
双击Tomcat
目的:使用自己的路径存放web项目,可以在磁盘中对应的Tomcat文件下的webapps下查看发布的项目
3、启动服务器
选中Tomcat——鼠标右键——双击start
4、创建web项目
第一步
第二步
第三步
第四步
第五步
PS:web.xml是tomcat服务器读取的
效果
5、使用Tomcat发布web项目
Servlet
简述Servlet
本质:特殊的java代码
作用:与前端交互
【待补充】
认识Servlet 0
实践出真知,下面测试一个简单的登录功能(将前端输入的文本信息打印在控制台)
第一步:创建login.html
action中一定要写xml配置文件设置的路径
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="www" method="get">
账户:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="login"/>
</form>
</body>
</html>
第二步:创建LoginServlet.java文件(实现servlet接口的类)
package com.servlet.day10;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class LoginServlet implements Servlet{
@Override
public void destroy() {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig config) throws ServletException {
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
String name = req.getParameter("username");
String pwd = req.getParameter("password");
System.out.println(name + "\t" + pwd);
}
}
第三步:配置核心配置文件web.xml
一定要写在web-app标签里面,别写到外面了
<!--配置LoginServlet,让前端代码与servlet产生联系 -->
<servlet>
<!--servlet的名字,随便取 -->
<servlet-name>LoginServlet</servlet-name>
<!--实现servlet接口的类的全类名(找到实现类) -->
<servlet-class>com.servlet.day10.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--与上面取的名字对应 -->
<servlet-name>LoginServlet</servlet-name>
<!--前端数据提交的路径(/表示跟目录,一定要加) -->
<url-pattern>/www</url-pattern>
</servlet-mapping>
第四步:结果
1)网页
2)控制台
最后解释:执行顺序
(盗图,有些命名不一样仅此而已)
Servlet体系机构与Tomcat的关系
层次:
一个Tomcat可以有多个web项目,每个web项目可以有多个servlet。
为什么没有实例化LoginServlet实现类并且没有调用service方法,就自动调用了?
Tomcat初始化Servlet时,自动读取web.xml配置文件,根据配置文件生成ServletConfig和ServletContext对象。同时创建ServletRequest和ServletResponse对象交给Servlet,则执行实现类中的service方法。
【待补充】
Get与Post请求
只有form表单中的method属性设置为post时,才会调用doPost(),其余都调用doGet()。而doGet与doPost是service拆分而来,不能混合使用
【待补充】
Servlet生命周期 0
一、初始化
init(),默认情况当第一次访问Servlet时,Servlet容器(Tomcat)会加载Servlet,加载完成时,Servlet容器(Tomcat)会创建一个Servlet实例并调用init()方法并进行初始化。 init()方法只会执行一次,也说明一个Servlet只有一个实例,即单列模式。
如果访问Servlet时才初始化,将会影响第一个访问的用户,如何修改?
修改初始化的时间。使用<load-on-startup>
,该值大于等于0时,该servlet就会在服务器启动时初始化。影响:服务器启动时会花费更多时间
二、提供服务
service(),当Servlet每被访问一次,service()就会自动调用一次,该方法可执行多次。
三、销毁
destroy(),当关闭服务或资源重新加载时,destroy()会被执行,这就标识着整个Servlet的生命周期到此结束。该方法只会被执行一次。
代码展示
public class DemoServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("初始化");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("提供服务");
}
private void destory() {
System.out.println("销毁");
}
}
练习题——学生管理系统1(搭建web项目实现登录注册功能)
👉点击👈https://blog.csdn.net/Today_He/article/details/108982071