学习URL

学习URL

一. 学习网址

https://www.runoob.com/java/java-url-processing.html

https://www.baeldung.com/java-url

二. 需求

1.需求

弹屏管理
(1)获取弹屏广告列表
(2)新增弹屏广告
(3)编辑弹屏广告
(4)获取当前页面上的广告

2.设计
table:

id, domain, path, ad_content, expire, created, modified, operator

3 代码

/**
*获取弹屏广告列表
**/

//controller层
@RestController
@RequestMapping("/ad")
public class adController {
    @RequestMapping(value = "/list", method = { RequestMethod.GET })
    @ResponseBody
    public List<AdvertisementDto> getAbList() {
        List<AdvertisementDto> adList = adSerivce.getAdList();
        return adList;
    }
}

//Service层
public interface adService {
	List<AdvertisementDto> adSerivce.getAdList();
}

//ServiceImps层
@Service("adService")
public class AdServiceImpl implements AdService {
	@Override
    public List<AdvertisementDto> getAdList() {
       List<AdvertisementDto> adList= adMybatis.getAdList();
       return adList;
    }

//Mybatis层
public interface adMybatis {
	List<AdvertisementDto> getAdList();
}

//sql
select * from table where expire > now()

/**
*当前页面没有广告则新增, 有则更新
**/

//controller层
@RestController
@RequestMapping("/ad")
public class adController {
    @RequestMapping(value = "/add", method = { RequestMethod.POST })
    @ResponseBody
    public void addAd(AdvertisementDto advertisementDto) {
        adSerivce.addAdDto(advertisementDto);
    }
}

//Service层
public interface adService {
	 void adSerivce.addAdDto(AdvertisementDto advertisementDto);
}

//ServiceImps层
@Service("adService")
public class AdServiceImpl implements AdService {
	@Override
    public void addAdDto(advertisementDto) {
    	try{
        	adMybatis.addAdDto(advertisementDto);
        }catch(Exception e){
        	 // 在错误发生时处理...
        }
    }

//Mybatis层
public interface adMybatis {
	void addAdDto(AdvertisementDto advertisementDto);
}

//sql
<insert id="add">
    INSERT INTO table (id, domain, path, ad_content, expire, created, modified, operator)
    VALUES
    (#{item.id}, #{item.domain}, #{item.path}, #{item.adContent}, #{item.expire}, #{item.created}, #{item.modified}, #{item.operator}))
    ON DUPLICATE KEY UPDATE
    domain = VALUES(domain),
    path = VALUES(path),
    ad_content = VALUES(ad_content),
    expire = VALUES(expire),
    created = VALUES(created),
    modified = now(),
    operator = VALUES(operator)
</insert>

/**
*获取当前页面弹屏出的广告
**/

//controller层
@RestController
@RequestMapping("/ad")
public class adController {
    @RequestMapping(value = "/getAdContent", method = { RequestMethod.GET})
    @ResponseBody
    public String getAdContent(String url) {
        String content = adSerivce.getAdContent(String url);
        return content;
    }
}

//Service层
public interface adService {
	 String adSerivce.getAdContent(String url);
}

//ServiceImps层
@Service("adService")
public class AdServiceImpl implements AdService  {
	@Override
    public String getAdContent(String url) {
    	String content;
    	try{
    	    URL baseUrl = new URL(url);
    	    String domain = baseUrl.getHost();
    	    String path = baseUrl.getPath();
        	content = adMybatis.getAdContent(domain,path);
        }catch(Exception e){
        	 // 在错误发生时处理...
        }
        return content;
    }

//Mybatis层
public interface adMybatis {
	String getAdContent(String domain, String path);
}

//sql
<select id="getAdContent">
	select ad_content
	from table
	where domain = #{domain} and path = #{path}
	and expire > now()
</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值