Java-web(初识)

JavaWeb开发(服务器端 看懂前端)

 * 用户(浏览器)访问服务端的什么东西?

 * 静态Web资源 HTML CSS JS

 * 用户在访问静态资源的时候 这些资源不会变

 * 动态Web资源 JSP Servlet

 * 用户在访问动态资源的时候

 * 访问的内容是由资源生成的

 * 例如:不同用户访问不同的资源

 * 

 * 用户提供网址来请求服务器端

 * 请求就是服务器端上面的静态资源和动态资源

 * 请求完成之后会给浏览器一个响应结果

 * 

 * 服务器

 * Tomcat服务器(黄猫) sun公司 开源的 免费的

 * 轻量级服务器 公司里常用的服务器

 * 注意:写的Java代码 和 前端HTML页面

 * 全都是放在服务器上运行(服务器端开发 是开发到服务器上运行的代码

 * 而不是开发一个服务器出来)

 * 

 * JavaEE规范服务器的一套规则(类与接口)

 * JSP和servlet 就是这套规范一部分

 * 

 * tomcat服务器下文件夹

 * bin 存放编译指令的(开启关闭服务)

 * conf 存放tomcat自己配置文件的

 * lib 存放tomcat依赖jar包

 * logs 存放是用户访问服务的日志(查看错误)

 * temp 存放临时文件的

 * webapps 默认存放 应用程序的文件夹(你的工程)

 * work 存放Tomcat自己工作文件

 * wtpwebapps 与 Eclipse关联后 工程存放的文件夹

 * 

 * 利用命令行(终端开启tomcat服务)

 * 1.前往tomcat 的 bin文件夹下

 * 2.开启文件管理权限(读写)

 * sudo chmod 755 *.sh

 * 3.开启服务(Windows下 执行的是 .bat后缀的指令)

 * sudo sh ./startup.sh

 * 注意:不要重复开启服务 否则会出现端口被占用错误

 * (关了才能开)

 * ---------  服务器上的资源

 * 访问网址:

 * http://IP地址:端口号/项目名称/访问的资源

 * 通过这个网址 查看tomcat服务是否启动

 * http://localhost:8080

 * 

 * 访问的网址

 * URL 统一资源定位符

 * http://localhost:8080/test/HelloWorld.html

 * URI 统一资源标识符

 * /test/HelloWorld.html

 * 

 * 

 * 4.关闭服务

 * sudo sh ./shutdown.sh

 * 

 * 工程被编译到服务器

 * 实际上是把工程目录下的WebContent 

 * 文件夹下的内容编译进去

 * (WebContent 本身不会出现)

 * 

 * META-INF 扩展应用程序文件夹(暂时没用)

 * WEB-INF 存放着工程的所有资源

 * lib 存放工程使用的jar包

 * (不用添加路径 会自动编译到服务器上)

 * web.xml 工程的配置文件

 * classes

 * 工程编译到服务器上出现的

 * 里面保存的是 你工程中的类的.class文件

 * 注意:WEB-INF文件夹下存放的资源 是不能直接通过为网址去访问的

 * 

 * Servlet(小服务程序) 是个Java接口

 * 访问服务器 实际上访问就是

 * Servlet(容器 有访问动态资源) 

 * javax.servlet.Servlet 包下的

 * 注意:如果报错或提示不出来

 * 在library修改或添tomcat到你的工程中

 * 

 * Servlet的生命周期方法

 * 实例化——>初始化——>服务方法销——>毁方法

 * Servlet只创建一次

 * 当你再次访该Servlet

 * 不会创建新的Servlet

 * 只会重复调用服务方法 Servlet方法

 * 

 * 简单谈谈servlet的访问流程?

 * 用户发出请求

 * (http://localhost:8080/sh-web-01/demo01)

 * 系统如何促进出对应servlet出来?

 * 1.通过用户请求的网址

 * 服务器会获取到 项目的名称 /sh-web-01/demo01

 * 2.找到你对应项目后 从项目中找到

 * 该项目的web.xml文件

 * 3.从web.xml文件 可以找到访问servlet的路径(/demo01) 

 * 4.通过servelt的路径  找到用户

 * 要访问哪一个servlet的名字(demo01)

 * 5.通过servlet名字 就能找到 要创建

 *   的servlet 属于哪个类

 * 6.系统就会通过反射创建该类的对象

 * 然后 就走生命周期的4个方法

 * 

 * 创建servlet的第一种方式

 * 直接上线servlet接口

public class Demo01 implements Servlet {
	
	// 实例化方法(创建对象的无参构造方法)
	public Demo01() {
		System.out.println("实例化对象的无参构造方法");
	}
	
	// 初始化方法(初始化Servlet的配置信息)
	public void init(ServletConfig arg0) throws ServletException {
		System.out.println("实例化init方法 被调用");
	}
	// 服务方法(处理用户的请求 处理完成后 相应给用户)
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("service方法被调用");
	}
	//  Servlet的销毁方法
	// 1.服务器关闭(停止)会调用
	// 2.该应用程序被移除也会被调用
	public void destroy() {
		System.out.println("destroy销毁方法被调用了");
	}
	// 获取Servlet配置信息的方法
	public ServletConfig getServletConfig() {
		return null;
	}
	// 获取Servlet的版本 作者等信息的方法
	public String getServletInfo() {
		return null;
	}

}

直接继承HttpServlet
利用模板设计模式

public class Demo03 extends HttpServlet {
	//重写 doGet 和 doPost方法
	// 注意:从浏览器发送的请求都是get请求
	// 注意:重写完成之后 不要调用父类的doGet方法
	// 		否则一样会发送错误出来
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("doGet");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 两种请求公用一个处理方法
		doGet(req, resp);
	}
}

利用模板 快速创建

public class Demo04 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("demo04...doget");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值