一、Tomcat
- 用于发布和管理web应用的一款轻量级服务器,主要用于发布JavaWeb应用,使得项目能够以url的方式进行访问,并执行相应的功能,是开发和调试JSP 程序的首选。
- 软件的文件夹目录结构
-
-
conf:配置文件 这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
- server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等
- tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
- web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
- context.xml:对所有应用的统一配置,通常我们不会去配置它
-
lib:类库,存放项目运行时依赖的jar包,如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中
-
logs:日志存放目录,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中
-
temp:临时文件目录
-
webapps:应用部署目录
-
work:运行时生成的缓存目录,当出现资源未同步时可清空该目录中的文件
-
-
启动Tomcat服务器必须要配置JAVA_HOME黄建变量
- Tomacat与Eclipse整合配置
-
切换至JavaEE视图
-
找到Servers窗口
-
在其中右键 -> new Server -> Apache -> 选择相应的版本 -> 选择路径
-
添加完成后双击Servers窗口中新添加的Tomcat
-
在配置面板中做如下两项配置
-
配置80端口,是为了方便浏览器直接解析。80端口是http协议默认端口,浏览器直接可以解析的
二、Servlet
- 是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
- 实现过程:
-
客户端发送请求至服务器端;
-
服务器将请求信息发送至 Servlet;
-
Servlet 生成响应内容并将其传给服务器,响应内容动态生成,通常取决于客户端的请求;
-
服务器将响应返回给客户端
- 主要用途
-
-
接收数据:request.getParameter("xxx"),参数为表单name属性值
-
接收一组数据(如复选框):request.getParameterValues("xxx")
-
当使用getParameter时,如果接收的属性不存在则返回null
-
当使用getParameterValues时,如果值为空需要加异常处理
-
get提交方式:数据在地址栏显示,数据大小限制为2KB
-
post提交方式:在地址栏无显示,需要处理编码问题
-
使用get方式提交时进入doGet方法
-
使用post方式提交时进入doPost方法
-
post提交方式中文乱码解决。注意在接收数据之前添加如下代码
-
//1.对客户端发来的请求数据进行重新指定编码 request.setCharacterEncoding("UTF-8"); //2.返回给服务端的数据请求进行指定编码 response.setCharacterEncoding("utf-8"); //3.控制浏览器的解析方式 response.setContentType("text/html; charset=utf-8");
-
- 在一个页面中有多个表单,只对应一个servlet的时候,可以在不同的表单内添加一个表单元素,设置相同的name属性,但是设置不同的value值,并且设置隐藏不可见,这样在servlet中就可以通过获取这个相同的name属性,拿到不同的值来判断具体哪个表单发来的数据,再做具体处理。
- 表单元素数据检验 jQuery 插件 validate使用(功能有限,不过大部分常见的都可以满足)
-
- 语法规则很严密,一个都不能写错,错了就验证不了。
- 必须先导入jQuery文件,再导入validate文件,缺一不可,顺序不能错
- 写法规则:
<script> $(function(){
$("表单的id选择器").validate({
rules:{ //检验规则 //冒号前面写name属性值,冒号后面写对应的检验规则,下一个逗号连接 up_userName:"required",//单检验规则,可以一一对应,中间冒号连接,后面 “” 括起来 up_repassword:{ equalTo:"[name='up_password']" }, up_email:{ //多校验规则 冒号连接 大括号里面写具体检验规则:true/false email:true, required:true }, }, messages:{ //对应的检验失败时候的提示信息,写法跟rules一样严格规定。 // 冒号前面写对应的表单元素的name属性值,冒号后面写提示信息 up_userName:"用户名必填哦", up_password:"密码必填哦", up_email:"请输入正确的邮箱地址" } }); </ script>具体例子:
-
<script> $(function(){ $("#up_form").validate({ rules:{ up_userName:"required", up_password:"required", up_repassword:{ equalTo:"[name='up_password']" }, up_email:{ email:true, required:true }, }, messages:{ up_userName:"用户名必填哦", up_password:"密码必填哦", up_repassword:"两次密码不一致哦", up_email:"请输入正确的邮箱地址" } }); </script>