JavaWeb初探

一个最基本的JavaWeb项目需要什么:
1、网页
2、servlet


让一个类成为Servlet的方法
1、继承HttpServlet(需要导入Tomcat包)
如果找不到HttpServlet,那么检查是否添加了Tomcat服务
2、指定处理位置
3、重写service方法或者doGet和doPost方法

对于2项,有两种方法来实现:
1、直接写注释@WebServlet(“/地址”)
2、配置web.xml
配置详解:

    <servlet>
        <servlet-name>名字</servlet-name>
        <servlet-class>自己写的servlet的全路径去掉.class</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>名字</servlet-name>
        <url-pattern>地址</url-pattern>
    </servlet-mapping>

如何在servlet里输出html代码:
PrinterWriter writer=response.getWriter();
writer.print(“html代码部分”);


jsp里嵌入java代码:
使用<% java代码片%>
<%= 参数值%>(此参数值一定要在上方有定义)


参数传递的两种方法:
get 通过url进行传递,传递的数据会暴露在url里
post 通过数据包进行传递,数据值不会显示在url上
所以呢,get是用来请求数据的,post是用来发送数据


接受jsp中传递的数据:
request.getParameter(“参数名”); (单个参数值)
request.getParameterValues(“”); (参数数组)

接受页面内所有的属性值

Map<String,String[]> map=request.getParameterMap();
Set<String> set=map.keySet();
for(String s:set){
    for(String m:map.get(s)){
        System.out.println(m);
    }
}

解决中文乱码问题:
在Tomat8中,get做了优化,不会出现乱码。
但是这里写一下Tomcat8之前解决乱码的方法:
1、get乱码
①配置tomcat中的server.xml
②找到<Connector>节点(配置端口号的那一行)
③然后添加URIEncoding=”UTF-8”即可
2、post乱码
只要在接受参数之前修改参数编码就可以
request.setCharacterEncoding(“UTF-8”);
这里涉及到了过滤器的配置


过滤器:
过滤器我现在知道的功能是:
1、解决乱码
2、判断权限
3、判断密码

通过过滤器解决乱码问题的配置:
1、实现Filter接口
导包要导javax.servlet.Filter;

public class filter implements Filter {

    @Override
    public void destroy() {
        // TODO Auto-generated method stub

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        // TODO Auto-generated method stub
        response.setCharacterEncoding("UTF-8");
        request.setCharacterEncoding("UTF-8");
        //这里将response和request都处理了
        chain.doFilter(request, response);
        //将处理之后的request和response继续传递
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub

    }

}

2、配置过滤地址
第一个方法:使用注释@WebFilter(“地址”) 代表通配,也可以使用.jsp等类似的
第二个方法:配置xml

    <filter>
        <filter-name>名字</filter-name>
        <filter-class>自己写的filter的全路径去掉.class</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>名字</filter-name>
        <url-pattern>地址</url-pattern>
    </filter-mapping>

跳页的两种方式:
1、转发 只能在当前项目中进行跳页(不可跨域),找的是文件,发起一次请求(发起请求的次数是配合拦截器得出的),URL不变
查询使用转发
2、重定向 可以是任意页面(可跨域),找的是地址,发起两次请求,URL改变
增删改使用重定向,因为如果不使用重定向,造成的结果就是URL不变,当刷新页面的时候,会出现重复提交数据的问题


绝对路径和相对路径:
在项目中,一般使用绝对路径
在JavaWeb过程中,可以定义一个basePath来保存绝对路径

协议      request.getScheme();
主机      request.getServerName();
端口号 request.getServerPort();
工程名 request.getContextPath();

将上面几个组合起来,就是绝对路径,一般绝对路径是要定义到工程的根目录的


Ajax初步了解:
Ajax通常用于异步请求,相当于用Js脚本来调用后台代码
这里写图片描述

Ajax怎么调用?
$.ajax();

Ajax和form表单对比
——————From—————Ajax
提交地址——action—————url
提交方式——action—————type
提交参数——默认input框————json
返回值类型——不存在—————①第一种返回一个json—{参数名:参数值,参数名:参数值…}
——————————————②第二种返回—参数名=参数值&参数名=参数值…
回调函数——不存在—————function类型的
同步和异步—不存在—————当asunc为true的时候异步,为false的时候同步

Ajax本身无刷新

还有九大作用域,自己去网上查


JSTL初步认识:
JSTL的功能是搭配EL表达式实现Java代码,替代了在jsp中直接使用<%%>来书写java代码(jstl中也有很多函数,比如if,foreach…)
使用过程:
1、首先引入JSTL的包
2、将参数传到作用域内
3、通过${参数名}来取

内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值