JavaWeb
JavaWeb是所有通过Java语言编写的可以通过浏览器访问的程序的总称。
请求:客户端发送请求,服务器端接收到请求
响应:通过服务端给客户端响应数据
web资源按实现的技术和呈现的效果的不同,分为静态资源和动态资源。
静态资源:html,css,js,txt,mp4视频,jpg图片
动态资源:jsp画面,Servlet程序
Tomcat使用
目录介绍:
bin 专门用来存放Tomcat服务器的可执行程序
conf 专门用来存放配置文件
lib 专门用来 存放jar包
logs 专门用来 存放日志文件
temp 专门用来存放运行时产生的临时数据
webapps 专门用来存放部署的web工程
work 是Tomcat工作时的目录
在Tomcat的bin目录下用命令启动Tomcat服务器
catalina run
如果需要更改端口号,在conf中的server.xml中更改
Servlet
Servlet是Java EE规范之一,是运行在服务器上的一个Java小程序,他可以接收客户端发送过来的请求,并响应数据给客户端。
如果浏览器端想要访问后端的资源,需要在web.xml进行后端资源的注册以及资源路径的配置
<!--注册Servlet资源-->
<servlet>
<!--给注册的Servlet资源起的别名-->
<servlet-name>Servlet01</servlet-name>
<!--当前资源的全类名(权限定类名)--><!--包结构加类名-->
<servlet-class>com.shizi.servlet.Servlet01</servlet-class>
</servlet>
<!--配置资源路径-->
<servlet-mapping>
<!--对应要配置的资源的别名-->
<servlet-name>Servlet01</servlet-name>
<!--资源路径的配置-->
<url-pattern>/</url-pattern>
</servlet-mapping>
1、建立一个普通类后将之变成Servlet类
1)原始方法:实现Servlet接口
servlet的实例由浏览器创造
构造方法和初始化方法都只被调用一次
浏览器和servlet要根据service()方法做一个分发处理(根据不同的提交方式做分发处理)
Servlet生命周期
1、执行Servlet构造器方法
2、执行init初始化方法
3、执行service方法
4、执行destory方法
/**
* 浏览器在调用的时候,无论如何都会执行的方法
* 分发请求
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service被调用");
}
service方法中的参数,ServletRequest和ServletResponse是接口,不能实例化对象,所以该方法传入的对象是其子类的对象,该子类是HttpServlet。
ServletRequest所传的实现类是HttpServletRequest,里面提供了获取浏览器提交类型属性的方法
ServletResponse所传的实现类是HttpServletResponse
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service被调用");
//强转为HttpServletRequest
HttpServletRequest request = (HttpServletRequest)servletRequest;
String method = request.getMethod();
System.out.println("提交方式"+method);
}
强转为HttpServletRequest是因为浏览器使用的是http协议
getMethod()用于获取浏览器提交方式(get或者post)
浏览器直接发起调用的提交方式是get