环境:
myeclicpse jdk
tomcat (需配置环境变量)
...................................................................
tomcat
1、tomcat的目录结构
/bin 用于存放各种平台下用于启动和停止tomcat的命令文件。例如其中:startup.bat为启动tomcat。shutup.bat为关闭tomcat
/conf 用于存放tomcat服务器的各种配置文件
/lib存放tomcat服务器所需要的各种jar文件
/logs用于存放tomcat的日志文件
/temp tomcat运行时用于存放临时文件
/webapps 当发布web应用时,默认会将WEB应用的文件发布到此目录中
/work Tomcat把由jsp生成的serlvet放于此目录下
------conf>server.xml>记录端口号
------web-inf是java的web应用的安全目录,客户端无法访问,只有服务端可以访问。
myeclicpse开发java web 程序
修改web项目的虚拟路径
新建的webproject名字叫“MyfristWebApp”,默认路径则是http://localhost:8080/MyfristWebApp/index.jsp
修改默认路径可以通过下面的方式:修改下面红圈里的名字为HelloWorld,则修改后的访问路径则是http://localhost:8080/HelloWorld/index.jsp
我们可以看到再tomca得目录中,webapp下面我们的文件名已经变成了HelloWorld
----------------------------------------------------------------------------------------------------------------------
jsp---java server pages 是一个简化的servlet设计,实现了在Java中使用 html标签,是一种动态网页技术标准,与servlet一样是在服务器端执行的。
一、 jsp的基础语法:
jsp页面元素构成:指令、表达式、小脚本、声明、注释、静态内容
1、指令:
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令
<%@page 属性1=“属性值” 属性2=“属性值”。。。。属性n=“属性值”%>
最长用的三个属性:language="java" import="java.util" contentType="text/html;charset=utf-8"
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句
taglib指令:使用标签库定义自定义标签,在jsp页面中启用定制行为
2、注释:在jsp页面的注释
html的注释:<!--html注释--> //客户端可见
jsp注释:<%---html注释-%> //客户端不可见
jsp脚本注释: //单行注释 /**/多行注释 //客户端不可见
3、jsp脚本:jsp中执行的java代码
语法:<%java代码%>
例如:
4、jsp声明:在jsp页面中定义变量或者方法
语法:<%!Java代码%>
例如:
5、jsp表达式:在jsp页面中执行的表达式
语法:<%=表达式%> //注意:表达式不以分号结束
例如:
6、jsp页面的生命周期:
work目录下的文件
二、jsp内置对象(上)
解释:是web容器创建的一组对象,不使用new关键就可以使用的内置对象。
常用的 out request response session application
web程序的请求相应模式
用户发送请求(request)
服务器给用户相应(response)、
(一)、out 对象:JspWriter类的实例,是向客户端输出内容常用的对象
常用 的方法如下:
1、void println()向客户端打印字符串
2、void clear()清除缓存区的内容,如果在flush之后调用会抛出异常
3、void clearBuffer()清除缓存区的内容,如果在flush之后调用不会抛出异常
4、void flush()将缓冲区内容输出到客户端
(二)、get 与post 区别
<form name="regForm" action="动作" method="提交方式">
</form>
表单有两种提交方式 分别是get 和post
1、get以明文的方式通过URL提交数据,数据在URL中可以看到,提交的数据最多不超过2kb,安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询的功能。
2、post将用户提交的信息封装在HTML HEADER内,适合提交数据量大,安全性高的用户信息。比如:注册/修改/上传等功能。
(三、)request对象
客户端的请求信息被封装在request对象中,通过他才能了解客户端的请求,然后做出响应。他是httpServerletRequest类的实例。request对象具有请求域,即完成客户端的请求之间,该对象一直有效。
常用方法:
String getParameter(String name) 返回name指定参数的参数值
String[] getParameterValues(String name) 返回包含参数name的所有值的数组
void setAttribute(String,Object);存储此请求中的属性
object get(String,name);获取指定属性的属性值
String getContentType()得到请求体的MIME类型
String getProtocol() 返回请求用的协议 类型及版本号
String getServerName()返回接受请求的服务器主机名
String getParameter(String name) ;String[] getParameterValues(String name)
其中:若要修改url传递中文出现的乱码问题需要在tomcat》conf>server.xml文件中添加
void setAttribute(String,Object); object get(String,name);
(四)response对象
response对象包含了相应客户请求的有关信息,但在jsp中很少用到它,它是httpServetResponse对象具有页面作用域,即访问一个页面时。该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效,常用方法如下:
String getCharacterEncoding()返回响应用的是何种字符编码
void setContentType(String type)设置响应的MIME类型
PrintWriter getWriter()返回可以向客户端输出字符的一个对象(注意比较对应PrintWriter与内置out对象的区别)【response.getWriter()输出的内容总是在out内置对象的前面,需要解决这个问题可以在out语句后面加out.flush();】
sentRedirect(java.lang.String location)重新定向客户端的请求
(五、)请求转发与请求重定向
请求重定向:客户端行为,response.sendR二弟如此投入(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的url会改变
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏URL地址不会改变。