/home=authc authc: 指定需要認證的uri,意思是每次訪問都需要認證 你可以改為 /home=user,這樣就只需要認證一次就可以了。這樣就可以了
對于jsp中taglib url表示的是命名空間,防止相同的標簽名,可以去訪問別人已經(jīng)封裝好的。也可以去自己去封裝一個標簽。
1 很久記不太清了 應該是取tomcat生成的session shiro只是攔截獲取session
2 自定義sessionid? 不明白你為啥要自定義sessionid request。getsession()會委托tomcat幫你創(chuàng)建session
如果你想改變sessionid的生成方式,我只知道改源碼可行,不知道有沒有配置可以替換默認的生成方式
弱菜 只能知道這么多了
唉 恐怕是時間沒那么多啦
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
registry.addResourceHandler("/api/video/**").addResourceLocations("file:///home/xxx/桌面/");
}
在debug的時候默認斷點是 Suspend all的,可以選擇斷點的打斷模式為 Suspend Thread,就不影響其他線程了。
mybatis框架的關聯(lián)配置:
首先假設我們數(shù)據(jù)庫中有兩個表,一個表示move,另一個是moveType,move里面有一個字段typeid,與moveType表里面的id相對應。相信大家已經(jīng)看出來了,一個moveType對應多個move,我們查詢move字段的時候,必要的時候得顯示moveType的內(nèi)容,比如我的move的name是:《A計劃》,那么對應的我的moveType就是動作片,而不是直接顯示的id,有人說這不就是sql的內(nèi)連接查詢么?非也,你用sql的內(nèi)連接是顯示不出來MoveType里面的name的,那么,對于這種情況我們該怎么查詢呢?怎么配置呢?
為了不讓大家迷糊,我還是寫全吧,從最基本的實體類開始:
首先我們創(chuàng)建一個Move的實體類,與數(shù)據(jù)庫中的move表相對應,代碼如下:
public class Move {
private Long id; //電影id
private MoveType type; //電影類型
private String name; //電影名稱
private String actor; //電影主演
private String director; //電影導演
private Integer price; //電影價格
}
在這里我們省略getter和setter方法,直接在創(chuàng)建一個實體類,MoveType,此類與數(shù)據(jù)庫中的moveType表相對應,代碼如下:
[java]
public class MoveType {
private Integer id;
private String typeName;
}
同樣我們省略getter和setter方法,咱們在去建一個dao接口,IMoveDao,與Move類相對應,代碼如下:
public interface IMoveDao {
/**
*
* @Title: saveMove
* @Description: 添加電影
* @param @param move
* @param @return 設定文件
* @return int 返回類型
* @throws
*/
public int saveMove(Move move);
/**
*
* @Title: queryMoveByTerm
* @Description: 動態(tài)查詢電影
* @param @param mt
* @param @return 設定文件
* @return List<Move> 返回類型
* @throws
*/
public List<Move> queryMoveByTerm(MoveTerm mt);
}
接著在創(chuàng)建個IMoveTypeDao接口類,與實體類MoveType相對應:
public interface IMoveTypeDao {
/**
*
* @Title: getAllMoveTypes
* @Description: 查詢?nèi)康碾娪邦愋?
* @param @return 設定文件
* @return List<MoveType> 返回類型
* @throws
*/
public List<MoveType> getAllMoveTypes();
}
光有了實體類和dao接口還遠遠不夠,正兒八經(jīng)的配置還沒開始呢。
我們先配置MoveDaoMapper.xml的映射文件,同樣,此映射文件對應的是IMoveDao接口,這個比較復雜,咱們慢慢的來,代碼如下:
(1)先把頭部拿出來:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
(2)映射Move實體類的字段屬性
<!-- 映射Move實體類的字段屬性 -->
<!-- type="move" 等價于type="org.entity.Move"-->
<resultMap type="move" id="moveMapper">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="actor" column="actor"/>
<result property="director" column="director"/>
<result property="price" column="price"/>
<!-- 關聯(lián)MoveType實體類, -->
<!-- type:實體類Move中的type對象 -->
<!-- typeid:數(shù)據(jù)表Move的typeid -->
<!-- selectMoveType:映射的是實體類MoveType -->
<association property="type" column="typeid"
select="selectMoveType" />
</resultMap>
(3)映射實體類MoveType
<!-- 映射實體類MoveType -->
<!-- type="moveType" 等價于type="org.entity.MoveType"一樣 -->
<resultMap id="moveTypeMapper" type="moveType" >
<id property="id" column="id"/>
<result property="typeName" column="typename"/>
</resultMap>
(4)對應的moveType的映射
[java]
<!-- selectMoveType與上面MoveType實體類的select相對應 -->
<!-- moveTypeMapper與上面映射實體類MoveType的id相對應 -->
<select id="selectMoveType" resultMap="moveTypeMapper">
select * from movetype where id=#{typeid}
</select>
(5)下面就是咱們在Dao層里面方法的sql實現(xiàn)了
<!-- 添加電影 -->
<insert id="saveMove" parameterType="move">
insert into
move
(id,typeId,name,actor,director,price)
values
(#{id},#{type.id},#{name},#{actor},#{director},#{price})
</insert>
<!-- 動態(tài)查詢電影 -->
<select id="queryMoveByTerm"
parameterType="hashmap"
resultMap="moveMapper">
select
id,
typeid,
name
,actor
,director
,price
from move
<where>
<if test="typeid!=null "> and typeid=#{typeid}</if>
<if test="name!=null"> and name=#{name}</if>
<if test="actor!=null"> and actor=#{actor}</if>
<if test="director!=null"> and director=#{director}</if>
<if test="smallPrice!=null"> and price between #{smallPrice} and #{bigPrice}</if>
</where>
</select>
最后記得用<mapper></mapper>把上面的配置包起來。
到此,我們的MoveDaoMapper.xml的配置就結束了,下面我們來配置一下MoveTypeDaoMapper.xml,請看代碼:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="moveTypeDao">
<select id="getAllMoveTypes" resultType="moveType">
select * from movetype
</select>
</mapper>
這里面只有一個查詢所有電影類型的方法,所以比較簡單,重點和難點還是都在MoveDaoMapper.xml里面,最后我在附加一個動態(tài)查詢的條件類吧:
public class MoveTerm {
private Long id; //電影id
private MoveType type; //電影類型
private String name; //電影名稱
private String actor; //主演
private String director; //導演
private Integer smallPrice; //最低價格
private Integer bigPrice; //最高價格
}
省略getter和setter方法?。?/p>
一個站表,包括Id和站名
一個站牌表,包含Id,站牌名,上下行(0,1,2),對應的站表Id
一個路線表,包括Id,出發(fā)站牌Id,目的站牌Id,公交Id,以及一個枚舉值來標識該站點的狀態(tài)(相對于該公交而言),比如起始,終點,等等
查詢的時候,按照公交Id,把所有的路線都查詢出來,然后根據(jù)站牌順序排序,就能得到公交線路了。顯示的時候可以根據(jù)需求,把站牌名映射到站名
沒有正確安裝完,你第一張圖里面有顯示"Error"
http服務不能訪問,而ping命令可以說明網(wǎng)絡是通的
ping不同說明禁止了這個操作
try...catch...一下試試?捕獲異常然后打日志,舉個例子
try {
con = DriverManager.getConnection(url, username, password);
} catch(Exception e) {
logger.error("獲取數(shù)據(jù)路連接異常", e);
throw new RuntimeException("獲取數(shù)據(jù)庫連接異常");
}報錯提示的很清楚了
Consider defining a bean of type 'cn.mrthree.dubbo.HelloService' in your configuration.
個人認為是沒有注入成功 可能是主程序配置未掃描到注解? 可以考慮使用dubbo的@Service注解和spring的注解結合 springboot本就是為了簡化配置 為什么還用那么多配置呢
看了下頁面主機是Nginx,方便的話改下配置,用反向代理的方式會比前端折騰跨域省事的多。
我的理解是你想要匹配同時存在多個字符串。
那么可以采用下面的方案:
如果是同時存在11FF00和11FF03,則是(?=.*11FF00)(?=.*11FF03)。以此類推。
讓后臺傳給你sessionid,請求參數(shù)時候帶sessionid去找回之前session存儲信息
c=a+b是c = a.intValue() + b.intValue()的簡寫,兩個int相加結果還是int,必須顯示轉換為long才可以。比如c = (long)(a+b)。c==(a+b)是對比兩個reference是不是指向同一個對象,jvm會優(yōu)化一部分整數(shù),我記得是-128到128的object。如果有兩個整數(shù)一樣,會指向同一個對象。比如Integer a = 12; Integer b=12; a==b是true。
沒有吧,應該是 count 有 setter/getter 方法,并且 count 的int 默認值是 0
我現(xiàn)在的處理辦法是:用docx4j 把生成的html轉成word下載提供編輯。如果是pdf,就直接再瀏覽器里面通過html2canvas 把canvs截圖然后用jspdf生成pdf。
作用域的理解是沒問題的,除此之外你還應該理解this。你的return this.name你要搞清楚this指向了誰。
var ele = obj.getName();
此時的ele是一個函數(shù),等價于function () {return this.name}
而你直接執(zhí)行ele()的時候,這個this指向的是global,在瀏覽器中就是window。
換個執(zhí)行方式:
ele.call(obj); // "小王"error 是顯示 xxx 不存在于 access-control-allow-headers
把提示你的xxx放進去,response.addHeader("Access-Control-Allow-Headers","xxx");
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。