javaweb-笔记

javaweb学习笔记

建立项目

创建的时候选择maven -->webapps(有两个 选下面一个)。更改web.xml为4.0版本

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="false">
</web-app>
导包

pom.xml里面导入相关依赖

<dependencies>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
  </dependency>
      <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.53</version>
  </dependency>
    
</dependencies>
建立项目基本结构 各种包 层。

编写实体类 bean/pojo/domian

编写jdbc工具类

注册第一步

编写user类

编写Dao 实现数据库的操作

插入语句中有误 加字段名或者添加null值


    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String rs = "bad!!";
        PrintWriter out = resp.getWriter();
        out.print(rs);
    }


不让浏览器缓存

HttpServletResponse response = (HttpServletResponse)resp;
 
        response.setDateHeader("Expires", -1);				//告诉浏览器数据可以缓存多长时间,-1或0表示不缓存
        response.setHeader("Cache_Control", "no-cache");	//支持HTTP 1.1,告诉浏览器要不要缓存数据,如“no-cache”
        response.setHeader("Pragma", "no-cache");			//支持HTTP 1.0,告诉浏览器要不要缓存数据,如“no-cache”

JSON
        // json格式字符串
        String str = "{name:'z',gender:'1212',phone:'5545454545454'}";
        //把json字符串转化成>java对象格式
        //利用函数JSON.parse
        //函数有两个参数 json字符串,转化成的目标class对象
        Person p = JSON.parseObject(str,Person.class);
        System.out.println("姓名:"+ p.getName()+",sex:"+ p.getGender()+",phone:"+ p.getPh、、、ne());
        Person p = new Person("张三","123135645","nan");
        String jsonA  = JSON.toJSONString(p);
        System.out.println(jsonA);
        
//转化成数组

		Person p = new Person("张三","123135645","nan");
        Person p1 = new Person("张三","123135645","nan");
        Person p2 = new Person("张三","123135645","nan");
        Person p3 = new Person("张三","123135645","nan");
        Person p4 = new Person("张三","123135645","nan");
        Person[]  arr = new Person[5];
        arr[0] = p;
        arr[1] = p1;
        arr[2] = p2;
        arr[3] = p3;
        arr[4] = p4;
        String js = JSON.toJSONString(arr);
        System.out.println(js);
错误记录

useSSL=false 不加将导致 无响应数据。

JDBC路径引起报错 无数据返回 服务器端

        String url = "jdbc:mysql://localhost:3306/ssms?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String username = "root";
        String password = "root";

servlet 页面输出乱码 resp.setContentType(“text/html;charset=UTF-8”);

解决java跨域

在web.xml中 第一个配置好 过滤器

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.yu.filter.MyFilter</filter-class>
</filter>
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
服务器端口开放

ssh:22

mysql:3306

tomcat:8080

bt:8888

http:80

mysql

设置外键
对一张表的字段添加外键,保存时一直提示不能添加外键约束

原因:

(1)外键对应的字段数据类型不一致

(2)两张表的存储引擎不一致

(3)设置外键时“删除时”设置为“SET NULL”

图片类型:mediumblob

创建 对象类型的函数 可以只传一个参数

    public User selectByName (String name) {


        return null;
    }
        //用URL创建 HTTPConnection 对象
        HttpURLConnection conn= (HttpURLConnection) url.openConnection();
        //打开连接
        conn.connect();
        //打印请求响应的头部信息
        Map<String, List<String>> header = conn.getHeaderFields();
        for(String key:header.keySet()){
            System.out.println(key+":"+header.get(key));
        }
        //打印响应内容
        BufferedReader br = new BufferedReader(new InputStreamReader (conn.getInputStream(), "UTF-8"));
        String str=null;
        while((str=br.readLine())!=null){
            System.out.println(str);
        }
        conn.disconnect();
退出登录

​ 登录的时候是把user对象,存放在session的attribute中,

​ 退出登录登录,将session的attribute去掉

或者把session直接去掉

购物车

购物车的表:要有用户的id和商品的id 根据两个的id 设置外键,进行连表查询,就可以查询出 商品信息。

需要判断用户是否登录,如果用户没有登录,那么不执行。通过session查看用户是否登录。

spring boot 部分

  • 官网生成项目

.iml文件 不能删除。

热部署 导入依赖

bootschool

spring boot banner

yaml 配置springboot 默认配置

lombok get set 方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值