常见的市面上web服务软件
- javase的规范,包含IO流,线程,集合,socket编程。。。。
- WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。
- WebSphere: IBM公司的产品。收费的。支持JavaEE规范
- JBoss: Redhat公司的产品。收费的。支持JavaEE规范
- Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但ejb, rmi不支持)
更改端口号
E:apache-tomcat-9.0.1confserver.xml 中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
port端口号
如果配置了CATALINA_HOME=''C: omcat6',你在启动startup.bat的时候,会以CATALINA_HOME为地址进行启动,如果没有设置将以启动位置进行操作
webapps目录:tomcat共享目录,需要共享的本地资源放到此目录中
URL:全名叫统一资源定位符,用于定位互联网的资源。
问题: http://localhost:8081/myweb/test.html 看到文件?
http协议。
localhost 域名。为了找到IP地址。
本地域名: localhost
外部域名:www.baidu.com
8081 端口。软件监听的
8080: tomcat默认的端口
3306:mysql数据库的端口
1521: orace数据库的端口。
/myweb: web应用的名称。默认情况下,在webapps目录下找
/test.html : 资源名称。
Tomcat的目录结构
|-bin: 存放tomcat的命令。
catalina.bat 命令:
startup.bat -> catalina.bat start
shutdown.bat - > catalina.bat stop
|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
|-logs:运行过程的日志信息
|-temp: 临时目录
|-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
|-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里
手动开发动态资源
静态资源和动态资源的区别
静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。
动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。
动态资源的开发技术
Servlet : 用java语言来编写动态资源的开发技术。
Servlet特点:
1)普通的java类,继承HttpServlet类,覆盖doGet方法
2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)
Servlet手动编写步骤:
1)编写一个servlet程序,继承HttpServlet
/** * 第一个servlet程序 * @author APPle * */ public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //解决中文乱码问题 resp.setContentType("text/html;charset=utf-8"); //向浏览器输出内容 resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new Date()); } }
配置一个servlet程序
<servlet> <!-- servlet的内部名称 ,可以自定义--> <servlet-name>HelloServlet</servlet-name> <!-- servlet类名: 包名+简单类名--> <servlet-class>gz.itcast.d_servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <!-- servlet的内部名称,和上面的名称保持一致!!!--> <servlet-name>HelloServlet</servlet-name> <!-- servlet的访问名称: /名称 --> <url-pattern>/hello</url-pattern> </servlet-mapping>