Java学习路程(JavaEE)之服务器

1.用户如何访问网站
1).通过URL网址访问网站(发送请求)
2).实际上访问网站就是访问该网站的服务器,访问的是服务器上的静态资源或动态资源
静态资源:HTML div CSS 不管什么用户访问内容不会改变
动态资源:jsp servlet根据不同的用户返回不同的信息
3).通过代码去访问数据库(JDBC)进行增删改查
4)将查询的结果集返回给服务器
5).服务器将查询的结果响应回浏览器
2.Tomcat服务器(开源的轻量级服务器)
Tomcat下的文件夹:
bin:存放Tomcat的操作指令
conf:服务器的配置文件
temp:服务器运行时产生的临时文件
logs:存放服务器的日志信息(开启关闭服务器以及运行时产生的错误)
work:服务器自己的工作文件夹
3.利用Tomcat操作指令启动和关闭服务器
1).打开cmd控制台
2).切换盘符 输入d:
3).cd 去往Tomcat下的bin文件夹
4).执行服务器开启服务的指令 startup.bat
5).设置环境变量 JAVAHOME和JDKHOME
6).访问Tomcat服务器默认网页
访问地址:http://IP地址:服务器端口号(8080)/工程的名字/访问的资源
7).关闭服务器 shutdown.bat
4.服务器上的工程目录
1).网页资源HTML页面
2).META-INF 可以配置工程的扩展应用
3).WEB-INF 工程的所有资源
classes文件夹: 项目代码的.class文件
lib文件夹: 工程中使用的jar包 (web工程不用添加jar包的路径)
web.xml: 工程配置文件(配置Servlet)
注意:如果你的html页面没有放在WebContent下而是放在WEB-INF下这时该资源无法通过网址直接访问,需要使用Servlet间接访问
5.Servlet的作用
1).接收用户发送的请求
2). 处理请求
3).将处理完的请求响应会浏览器
6.创建Servlet有三种方式
方法一:
1.实现Servlet接口
2.实现接口中的生命周期方法(构造方法 init方法 service方法 destroy方法)
注意:需要去工程中的web.xml文件中配置该servlet的访问路径
配置Servlet

  </servlet>
   <!-- 配置servlet的访问路径 -->
   <servlet-mapping>
    <!-- 设置给哪个servlet配置路径 注意:要与配置时 名字相同 -->
   	<servlet-name>demo01</servlet-name>
   	<url-pattern>/demo01</url-pattern>
   </servlet-mapping>
  <servlet>
  	<servlet-name>demo02</servlet-name>
  	<servlet-class>com.lanou3g.Demo02</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>demo02</servlet-name>
  	<url-pattern>/demo02</url-pattern>
  </servlet-mapping>
  <servlet>
  	<!-- 给servlet设置一个名字 -->
  	<servlet-name>demo03</servlet-name>
  	<servlet-class>com.lanou3g.Demo03</servlet-class>
  </servlet>
   <!-- 配置servlet的访问路径 -->
   <servlet-mapping>
   	<servlet-name>demo03</servlet-name>
   	<url-pattern>/demo03</url-pattern>
   </servlet-mapping>
 public class Demo01 implements Servlet{
		//构造方法
		public Demo01(){
			System.out.println("构造方法");
		}
		// 初始化servlet的配置信息
		public void init(ServletConfig arg0) throws ServletException {
			// TODO Auto-generated method stub
			System.out.println("init初始化方法");
		}
		// servlet的服务方法 (处理请求)
		public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
			// TODO Auto-generated method stub
			System.out.println("servlet的服务方法");
		}
		// servlet的销毁方法
		public void destroy() {
			// TODO Auto-generated method stub
			System.out.println("destroy销毁方法");
		}
		//获取当前servlet的配置信息
		public ServletConfig getServletConfig() {
			// TODO Auto-generated method stub
			return null;
		}
		//获取servlet的版本作者信息
		public String getServletInfo() {
			// TODO Auto-generated method stub
			return null;
		}
	}

方法二:
继承GenericServlet类并实现service方法

  public class Demo02 extends GenericServlet{
	@Override
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("demo02的服务方法");
	}
  }

方法三:
继承HttpServlet类(利用模板设计模式)

 public class Demo03 extends HttpServlet{
		//重写doGet
		//注意重写方法后不要调用父类中的方法,父类中的方法会给浏览器发送错误信息
		@Override
		protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			// TODO Auto-generated method stub
			System.out.println("get");
		}
		//重写doPost
		@Override
		protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			// TODO Auto-generated method stub
			doGet(req, resp);
		}
	}

注意:
1).当用户第一次请求系统会创建出Servlet对象并且只创建一次
2).当用户再次请求同一个Servlet时不会再创建新的Servlet对象而是多次调用服务方法
3).当停止服务器调用销毁方法
4).不管多少用户(浏览器)访问都只会创建一个Servlet
7.访问Servlet的流程
1).服务器接收用户请求的网址
2).通过网址中的工程名在wtpwebapps文件中找到对应的工程
3).在工程中找到web.xml文件进行读取
4).通过用户的访问网址中找到该路径对应的servlet-name
5).通过servlet-name找到对应的servlet-class
6).通过servlet-class系统反射出该类的对象
7).调用servlet的生命周期方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值