(14)Web开发入门一
来源:互联网 发布:php比较好的教程 编辑:程序博客网 时间:2024/05/04 15:28
一简介:
java桌面程序,控制台控制,socket gui界面 都是符合javase规范
java web程序。浏览器控制 符合javaee规范
二软件的结构:
C/S (Client - Server 客户端-服务器端)
B/S (Broswer -Server浏览器端-服务器端)
三服务器:
从物理上来说,服务器就是一台PC机器。8核,8G以上,T来计算,带宽100M
web服务器:PC机器安装一个具有web服务的软件,称之为web服务器
数据库服务器:PC机器安装一个具有数据管理件服务的软件,称之为数据库服务器。
邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。
四 web服务软件:
web服务软件的作用:把本地的资源共享给外部访问。
我们选择 Tomcat 免费,但只支持部分JavaEE 规范
五 Tomcat基本使用
下载并按照
1)到apache官网。www.apache.org http://jakarta.apache.org(产品的主页)
2)
安装版:window (exe、msi)linux(rmp)
压缩版:window(rar,zip)linux(tar,tar.gz)学习时候使用
3)运行和关闭tomcat
3.1 启动软件
a)找到%tomcat%/bin/startup.bat,双击这个文件
b)弹出窗口,显示信息(不要关闭次窗口)
c)打开浏览器,输出以下地址
http://localhost:8080
d)看到一只猫画面,证明软件启动成功!
3.3 关闭软件
a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)
tomcat软件使用的常见问题
1)闪退问题
原因:tomcat软件是java语言开发的。tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。
解决办法; 到环境变量中设置JAVA_HOME的变量
JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 (注意别配置到bin目录下)
2)端口占用的错误
原因: tomcat启动所需的端口被其他软件占用了!
解决办法:
a)关闭其他软件程序,释放所需端口
b)修改tomcat软件所需端口
找到并修改%tomcat%/conf/server.xml文件
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3)CATALINA环境变量问题
原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATAL INA_HOME变量,这个变量的作用是设置tomcat的根目录。
解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!
体验tomcat软件作用
webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中。(必须共享一个文件夹,而不能是一个文件)
六 URL
URL全名叫统一资源定位符,用于定位互联网的资源。
问题: http://localhost:8081/myweb/test.html
http:// 协议。http协议。
localhost 域名。为了找到IP地址。
本地域名: localhost
外部域名:www.baidu.com
8081 端口。软件监听的
8080: tomcat默认的端口
3306:mysql数据库的端口
1521: orace数据库的端口。
/myweb: web应用的名称。默认情况下,在webapps目录下找
/test.html : 资源名称。
七 手动开发动态资源
7.1 静态资源和动态资源的区别
静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。
动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。
7.2 动态资源的开发技术
Servlet : 用java语言来编写动态资源的开发技术。
Servlet特点:
1)普通的java类,继承HttpServlet类,覆盖doGet方法
2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)
Servlet手动编写步骤:
1)编写一个servlet程序,继承HttpServlet(要导入apache-tomcat-6.0.39\lib\servlet-api.jar包)
package gz.itcast.d_server;import java.io.IOException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends HttpServlet{protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//解决中文乱码问题resp.setContentType("text/html;charset=utf-8");//向浏览器输出内容resp.getWriter().write("这是第一个servlet程序。当前时间为:"+new Date());}}
2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下。
即C:\Users\Administrator\Workspaces\MyEclipse 2015\day08\bin 下的gz文件(含上面函数的.class)复制到 .\apache-tomcat-6.0.39\webapps\myweb\WEB-INF\classes下
3)在当前web应用下的web.xml文件配置Servlet。
<!-- 配置一个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>
4)启动tomcat服务器,运行访问
访问servlet: http://localhost:8080/myweb/ hello
八 工具开发动态资源
1)创建web project(javaweb工程)
2)在WebRoot下建立静态资源文件,
3)在src下建立动态资源文件
3.1 new -> Servlet( servlet的代码生成器)
3.2 写pacakge -> class名->修改mapping url
4)关联tomcat服务器
4.1 window-> Preferences - > MyEcplise -> servers -> Tomcat 6.x (注意一定要enable)
5)部署web project应用。(拷贝web应用到tomcat的webapps目录下)
6)启动tomcat服务器
7)访问servlet
http://localhost:8081/day08_web/hello
- (14)Web开发入门一
- WEB开发入门(一)
- Eclipse+Tomcat Web开发入门(一)
- python Flask Web开发入门(一)
- Web入门(一)
- Java Web程序开发入门--读书笔记(一)
- MyEclips+Tomcat+MySQL Web应用开发入门(一)
- web开发(一)
- web开发(一)
- web开发(一)
- Go Web服务开发入门(一) -- 搭建简单web服务器
- web开发入门(转载)
- 个人的web开发心得(一)----------非常适合入门新手,都是常识
- Go Web 开发(一)
- java web 开发(一)
- Web开发(一)--Servlet
- java web开发(一)
- web开发网页(一)
- hdu 1710已知先序中序求后续
- [第五季]2.HTML基本标签
- 函数
- 流程控制语句
- request.setCharacterEncoding(“utf-8”)
- (14)Web开发入门一
- R实战:【基本类型】向量c和矩阵matrix
- 在Unity中使用ProtoBuffer进行数值表转换以及生成网络通信用的协议
- 记录自己日常用到的代码
- caffe image recognization model and prototxt for transfer learning (fine-tuning)
- QTextStream和QDataStream的区别
- Java实现动态切换IP的方法(一)
- swift_041(Swift的@noescape和@escaping)
- 51nod 1046 A^BMod C