day26-Tomcat-Servlet

一、Tomcat

  1. 用于发布和管理web应用的一款轻量级服务器,主要用于发布JavaWeb应用,使得项目能够以url的方式进行访问,并执行相应的功能,是开发和调试JSP 程序的首选。
  2. 软件的文件夹目录结构
    • bin:存放可执行的二进制文件,存放脚本及命令文件,解压版中有启动、停止脚本等

    • 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:运行时生成的缓存目录,当出现资源未同步时可清空该目录中的文件

  3. 启动Tomcat服务器必须要配置JAVA_HOME黄建变量 

  4. Tomacat与Eclipse整合配置  
    • 切换至JavaEE视图

    • 找到Servers窗口

    • 在其中右键 -> new Server -> Apache -> 选择相应的版本 -> 选择路径

    • 添加完成后双击Servers窗口中新添加的Tomcat

    • 在配置面板中做如下两项配置

    • 配置80端口,是为了方便浏览器直接解析。80端口是http协议默认端口,浏览器直接可以解析的

二、Servlet

  1. 是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
  2. 实现过程:
    1. 客户端发送请求至服务器端;
    2. 服务器将请求信息发送至 Servlet;
    3. Servlet 生成响应内容并将其传给服务器,响应内容动态生成,通常取决于客户端的请求;
    4. 服务器将响应返回给客户端
  3. 主要用途
    • 地址的绑定:在web3.0以上的项目中可以直接使用注解声明访问路径

    • 接收数据: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");                         
  4. 在一个页面中有多个表单,只对应一个servlet的时候,可以在不同的表单内添加一个表单元素,设置相同的name属性,但是设置不同的value值,并且设置隐藏不可见,这样在servlet中就可以通过获取这个相同的name属性,拿到不同的值来判断具体哪个表单发来的数据,再做具体处理。  
  5. 表单元素数据检验 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>
    •   

猜你喜欢

转载自www.cnblogs.com/zhiai007/p/9498703.html
今日推荐